--- 轉小寫 輸出:abcdefSELECT Lower('aBCDEF');--- 轉大寫 輸出:ABCDEFSELECT UPPER('ABcdef');-- 去左空格 ->'ABCDEF 'SELECT LTRIM(' ABCDEF ');-- 去右空格 ->' ABCDEF'SELECT RTRIM(' ABCDEF '); -- 從左截取字串 ->abcdeSELECT LEFT('abcdefg123456',5);-- 從左截取字串 ->23456SELECT RIGHT('abcdefg123456',5);--- 查詢傳入字元起始位置 為0SELECT CHARINDEX('a','ab')--- 截取字串 如: 從第三個字元開始截取兩個長度,輸出:cdSELECT SUBSTRING('abcdefghi',3,2)--- 替換字串 輸出:A4CDEFG4ACSELECT REPLACE('ABCDEFGBAC','B',4);--- 以指定的次數重複字串值 輸出:ABABSELECT REPLICATE('AB', 2)--- 返回字串值的逆序 輸出 :FEDCBASELECT REVERSE ('ABCDEF')--- 資料類型轉換 輸出:13SELECT CAST('3' as int)+10---- 時間:------ 擷取現在時間 輸出:2013-03-19 16:17:27.437select GETDATE();--- 擷取日期select day(GETDATE());--- 擷取年select year(GETDATE());--- 擷取月份select MONTH(GETDATE());--- 添加時間 YEAR,DAY,HOUR,MONTH-- 添加時間:輸出 2023-03-19 16:20:06.763select dateadd(YEAR,10,GETDATE());--- DATENAME (<datepart>, <date>) -- 以字串的形式返回日期的指定部分此部分。由datepart 來指定。SELECT DATENAME(year,GETDATE());---DATEPART (<datepart>, <date>)---以整數值的形式返回日期的指定部分。此部分由datepart 來指定。SELECT DATEPART(yy, GETDATE()); -- 相當於 year(getdate())SELECT DATEPART(mm, GETDATE()); -- 相當於 month(getdate())SELECT DATEPART(dd, GETDATE()); -- 相當於 day(getdate())SELECT DATEPART(hh, GETDATE());---- 時間格式化函數Select CONVERT(varchar(100), GETDATE(), 20); --2013-03-19 16:34:50Select CONVERT(varchar(100), GETDATE(), 23); --2013-03-19Select CONVERT(varchar(100), GETDATE(), 8); --16:35:54--- DateDIFF 比較時間 輸出:6SELECT DATEDIFF(hh, '2013-03-19 12:34:50', '2013-03-19 18:34:50')--- 常用 統計函數/*AVG ( ) -返回的平均價值 count( ) -返回的行數 first( ) -返回第一個值 last( ) -返回最後一個值 max( ) -返回的最大價值 min( ) -返回最小的價值 total( ) -返回的總和*/--- row_numberselect row_number() over(order by field1) as row_number,* from t_table
行轉列:
SELECT [DAY] ,sum( CASE result WHEN '勝' then 1 else 0 end) as 勝,sum( CASE result WHEN '負' then 1 else 0 end ) as 負 from test GROUP BY [day]
遊標:
事務
BEGIN TRAN update Blog set name=name+'Rhythmk' where Id='04C65E2C-E604-4295-9F20-0004B72DE0B4' select CAST('107a' as INT)if @@error<>0 BEGIN SELECT 'A' ROLLBACK TRAN ENDELSE BEGIN SELECT 'B' COMMIT TRAN END
第二種寫法
BEGIN TRAN UPDATE BlogCate SET name = name + 'Rhythmk' WHERE Id = '04C65E2C-E604-4295-9F20-0004B72DE0B4' SELECT CAST ('107' AS INT) BEGIN try SELECT 'B' COMMIT TRAN END try BEGIN catch SELECT'A' ROLLBACK TRAN END catch