SQL函數
SQL的函數總類有兩種
- 單列函數:一筆進一筆出
- 彙總函數:一筆進多筆出
文字處理函數
大小寫函數
FUNCTION | RESULT |
LOWER('SQL Courese') | sql course |
UPPER('SQL Courese') | SQLCOURSE |
文字轉換函數
FUNCTION | RESULT |
RTRIM( 'HelloWorld' ) | HelloWord |
SUBSTRING(' HelloWorld' ,1,5) | Hello |
LEN(' HelloWorld' ) | 10 |
REVERSE(' Mountain Bike ') | ekiB niatnuoM |
REPLACE(' BIKE ' , 'B' , 'M' ) | MIKE |
CHARINDEX(' C ' , ' ABCDEF ') | 3 |
--查詢 job_id 第四字元起始為 REP 之員工
SELECT last_name, job_id, LEN ( last_name ) AS LENGTH ,
CHARINDEX ( 'a', last_name ) AS INSTR
FROM employees
WHERE SUBSTRING ( job_id, 4, 3 ) = 'REP';--查詢 job_id 起始位置四有效位置三個位置為REP的人
數字函數
ROUND:四捨五入 | ROUND(數字,小數點第幾位) |
ROUND:無條件捨去 (第三個參數為零除外) |
ROUND(數字,小數點第幾位,1) |
POWER:次方 | POWER(下面數字,次方數字) |
SQUARE:平方 | SQUARE(下面數字) |
SQRT:平方根 | SQRT(144) |
- 四捨五入:0表示取道整數位,-1表示取到十位數,但仍會保留精確度
--雖是四捨五入到小數兩位 但仍顯示三位 45.930, 46.000, 50.000
select ROUND(45.926,2),ROUND(45.926,0), ROUND(45.926,-1)
--除非 CAST 45.93
select CAST(ROUND(45.926,2) as decimal(5,2)) ,
ROUND(45.926,0), ROUND(45.926,-1)