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

SQL Server 常用內建函數速查:字串、數學、日期、系統函數

     編輯:關於SqlServer

一、字串函數

函數說明範例
DATALENGTH(expr)位元組長度 (不含尾隨空格)DATALENGTH('abc') = 3
LEN(expr)字元長度 (不含尾隨空格)LEN('abc ') = 3
SUBSTRING(expr, start, len)擷取子字串SUBSTRING('abcdef', 2, 3) = 'bcd'
RIGHT(expr, n)右側 n 字元RIGHT('abcdef', 3) = 'def'
LEFT(expr, n)左側 n 字元LEFT('abcdef', 3) = 'abc'
UPPER/LOWER(expr)大/小寫轉換UPPER('AbC') = 'ABC'
LTRIM/RTRIM(expr)移除左/右空格LTRIM(' abc') = 'abc'
REPLACE(expr, old, new)取代字串REPLACE('abc', 'b', 'X') = 'aXc'
REPLICATE(expr, n)重複 n 次REPLICATE('ab', 3) = 'ababab'
REVERSE(expr)反轉字串REVERSE('abc') = 'cba'
STUFF(expr, start, len, new)刪除並插入STUFF('abcdef', 2, 3, 'XYZ') = 'aXYZef'
CHARINDEX(find, expr)尋找子字串起始位置 (1-based)CHARINDEX('cd', 'abcdef') = 3
PATINDEX('%pattern%', expr)模式比對起始位置PATINDEX('%[0-9]%', 'ab3cd') = 3
ASCII/CHAR(code)字元與 ASCII 碼互轉ASCII('A')=65, CHAR(65)='A'
SPACE(n)產生 n 個空格SPACE(3) = ' '

二、數學函數

函數說明範例
ABS(n)絕對值ABS(-5) = 5
CEILING(n)大於等於 n 的最小整數CEILING(3.2) = 4
FLOOR(n)小於等於 n 的最大整數FLOOR(3.8) = 3
ROUND(n, precision)四捨五入 (precision 可負)ROUND(123.456, 2) = 123.46
POWER(x, y)x 的 y 次方POWER(2, 10) = 1024
SQRT(n)平方根SQRT(16) = 4
EXP(n)e 的 n 次方EXP(1) = 2.718...
LOG(n)自然對數LOG(10) = 2.302...
LOG10(n)以 10 為底對數LOG10(100) = 2
PI()圓周率 3.14159...PI() = 3.14159
RAND([seed])隨機浮點數 0-1RAND() = 0.123...
SIGN(n)正負號:1/0/-1SIGN(-5) = -1

三、日期函數

函數說明範例
GETDATE()目前日期時間2024-01-15 10:30:45.123
GETUTCDATE()UTC 時間2024-01-15 02:30:45.123
DATEADD(part, n, date)日期加減DATEADD(day, 7, GETDATE())
DATEDIFF(part, start, end)日期差 (傳回 int)DATEDIFF(day, '2024-01-01', GETDATE())
DATEPART(part, date)取日期部分 (int)DATEPART(month, GETDATE()) = 1
DATENAME(part, date)取日期部分名稱 (字串)DATENAME(month, GETDATE()) = 'January'
DAY/ MONTH/ YEAR(date)取日/月/年MONTH(GETDATE())
CONVERT/CAST格式化輸出 (見 Style 代碼)CONVERT(VARCHAR(10), GETDATE(), 120)

DATEPART/DATENAME 代碼 (part 參數)

代碼縮寫意義
yearyy, yyyy年
quarterqq, q季 (1-4)
monthmm, m月 (1-12)
dayofyeardy, y年內天數 (1-366)
daydd, d日 (1-31)
weekwk, ww週 (1-54)
weekdaydw, w星期 (1-7, 週日=1)
hourhh時 (0-23)
minutemi, n分 (0-59)
secondss, s秒 (0-59)
millisecondms毫秒 (0-999)

四、系統/中繼資料函數

函數說明
SUSER_NAME() / USER_NAME()登入名 / 資料庫使用者名
DB_NAME([dbid])目前或指定資料庫名
OBJECT_NAME(id)物件名稱 (表、視圖、程序等)
OBJECT_ID('name')物件 ID
COL_NAME(obj_id, col_id)欄位名稱
COL_LENGTH('table', 'col')欄位長度
INDEX_COL('table', idx_id, key_id)索引欄位名稱
@@VERSION / @@SERVERNAME / @@SPID版本/伺服器名/連線 ID
ISNULL(expr, replacement)NULL 替換 (非標準,建議用 COALESCE)
COALESCE(expr1, expr2, ...)回傳第一個非 NULL (ANSI 標準)
CASE WHEN ... THEN ... ELSE ... END條件運算式
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved