MSSQL-各種常用涵式
欄位 AS 別名
用於欄位名稱相同時可以暫時換成別的名稱,也可以用於簡化名稱
例如:
- f.name as pswd_name,
- FORM mf_tw as a
issnull(欄位,值) 如果欄位內容為null, 顯示值 例如:ISNULL(a.cls_id,’F’)
cast(欄位 as 型態) 將欄位的型態轉換成指定型態 例如CAST(e.SPC AS varchar(255))
CASE WHIEN(判斷式一)THEN值一
WHIEN(判斷式二)THEN值二
END
用於判斷內容並顯示其值
CASE WHEN (isnull(a.qty_rtn,0)!=a.qty AND (a.close_id!=’T’ or a.close_id is null)) THEN ‘F’ ELSE ‘Y’ END
row_number() 顯示資料列的序號,可以搭配over 做資料分割(分群)+排序
例如 row_number() over (order by est_dd,os_no,itm)
LEN(欄位) 計算內容值長度
- 英文字、數字所佔的位元組:1
- 中文字所佔的位元組:2
例:
SELECT LEN(‘你好,Hello!’),DATALENGTH(‘你好,Hello!’)
結果分別為=>9,12
LOWER(值OR欄位) 轉為小寫
例如: LOWER(‘TO SMALL’)
REPLACE(欄位,值一, 值二) 將該欄位內值一轉為值二
REPLACE(‘SQL TutoTial’, ‘SQL, ‘SQLLLL’);
SQLLLL TutoTial
ISNUMERIC 判斷值的型態是否為數字 true 返回1 false 返回 0
範例:ISNUMERIC(4567)
結果: 1
DATENAME(目標 , 時間值) 取得該時間值 的目標
- year, yyyy, yy = Year
- quarter, qq, q = Quarter
- month, mm, m = month
- dayofyear = Day of the year
- day, dy, y = Day
- week, ww, wk = Week
- weekday, dw, w = Weekday
- hour, hh = hour
- minute, mi, n = Minute
- second, ss, s = Second
- millisecond, ms = Millisecond
DATENAME(year, ‘2020/01/25’)
結果:2020