首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 常用函數速查:彙總、數學、字串、轉換、日期、系統

     編輯:關於SqlServer

1. 彙總函數

  • AVG, COUNT, MAX, MIN, SUM:忽略 NULL;可搭配 DISTINCT 去重;常與 GROUP BY 共用。

2. 數學函數

函數說明範例
SQRT(n)平方根SQRT(16)=4
CEILING(n)大於等於 n 的最小整數CEILING(3.2)=4
FLOOR(n)小於等於 n 的最大整數FLOOR(3.8)=3
ROUND(m,n)四捨五入保留 n 位小數ROUND(3.146,2)=3.15
ABS(n)絕對值ABS(-5)=5
SIGN(n)正負號:>0→1, =0→0, <0→-1SIGN(-3)=-1
PI()圓周率3.14159...
RAND([seed])0~1 隨機數,種子固定則序列固定RAND(10)

3. 字串函數

函數說明範例
ASCII('abc')首字元 ASCII 碼97
CHAR(97)ASCII 轉字元'a'
LOWER/UPPER大小寫轉換
STR(num, len, dec)數字轉字串,指定總長與小數位STR(123.456,8,2)=' 123.46'
LTRIM/RTRIM移除左右空白
LEFT/RIGHT/SUBSTRING截取左/右/指定位置長度SUBSTRING('abcde',2,3)='bcd'
CHARINDEX(sub, str)尋找子字串首次位置,無則 0CHARINDEX('c','abcde')=3
PATINDEX('%pat%', expr)支援萬用字元搜尋
REPLICATE('x',3)重複字串'xxx'
REVERSE(str)反轉字串REVERSE('abc')='cba'
REPLACE(str, old, new)取代字串
SPACE(n)產生 n 個空白
STUFF(str, start, len, ins)刪除並插入STUFF('abcdef',2,3,'ijkl')='aijklf'

4. 型別轉換

  • CAST(expr AS type):ANSI 標準。CAST(ytd_sales AS CHAR(20))
  • CONVERT(type, expr [, style]):SQL Server 專用,日期格式需用 style 代碼。

5. 日期函數

函數說明範例
DAY/ MONTH/ YEAR(date)取日/月/年
DATEADD(part, n, date)日期加減DATEADD(day,1,GETDATE()) 明天
DATEDIFF(part, d1, d2)兩日期差值 (d2-d1)DATEDIFF(day,'2023-01-01',GETDATE())
DATENAME(part, date)取部分回傳字串DATENAME(month,GETDATE())='January'
DATEPART(part, date)取部分回傳整數DATEPART(month,GETDATE())=1
GETDATE()目前日期時間

part 可為:year, quarter, month, dayofyear, day, week, hour, minute, second 等。

6. 系統函數

  • COL_LENGTH('table','col'):欄位定義長度
  • COL_NAME(OBJECT_ID('table'), colid):取得欄位名稱
  • DATALENGTH(expr):資料實際位元組長度
  • DB_ID():目前資料庫 ID
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved