[SQL][概念][函數]單列-數字函數與文字處理函數概念

SQL函數

SQL的函數總類有兩種

  1. 單列函數:一筆進一筆出
  2. 彙總函數:一筆進多筆出

文字處理函數

大小寫函數

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)