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

SQL Server 必會實用函數速查手冊:字串、日期、數學、轉換、系統

     編輯:關於SqlServer

字串函數

函數用途範例結果
SUBSTRING(str, start, len)擷取子字串SUBSTRING('abcdef', 2, 3)bcd
LEFT(str, n) / RIGHT(str, n)左/右邊 n 字元LEFT('abcdef', 3)abc
LTRIM/RTRIM移除前導/尾隨空白LTRIM(' abc')abc
REPLACE(str, old, new)字串取代REPLACE('a.gif', '.gif', '.jpg')a.jpg
CHARINDEX(sub, str)尋找子字串位置(1-based)CHARINDEX('bc', 'abcdef')2
PATINDEX('%pattern%', str)支援萬用字元搜尋PATINDEX('%[0-9]%', 'abc123')4
REPLICATE(str, n)重複字串REPLICATE('ab', 3)ababab
REVERSE(str)反轉字串REVERSE('abc')cba
STUFF(str, start, len, new)刪除並插入STUFF('abcdef', 2, 3, 'xyz')axyzef
SPACE(n)產生 n 個空白SPACE(3)
DATALENGTH(expr)位元組長度DATALENGTH('abc')3

日期函數

函數用途範例
GETDATE()目前日期時間2024-01-15 14:30:00.000
DATEADD(datepart, n, date)日期加減DATEADD(day, 1, GETDATE()) → 明天
DATEDIFF(datepart, d1, d2)日期差距DATEDIFF(day, '2024-01-01', GETDATE())
DATEPART(datepart, date)取得部分(整數)DATEPART(month, GETDATE()) → 1
DATENAME(datepart, date)取得部分(字串)DATENAME(weekday, GETDATE()) → Monday
DAY/ MONTH/ YEAR(date)簡寫取日/月/年MONTH(GETDATE())

datepart 常用值:year/yy, quarter/qq, month/mm, dayofyear/dy, day/dd, week/wk, hour/hh, minute/mi, second/ss

數學函數

函數說明範例
ABS(n)絕對值ABS(-5) = 5
CEILING(n)無條件進位CEILING(3.2) = 4
FLOOR(n)無條件捨去FLOOR(3.8) = 3
ROUND(n, d)四捨五入到 d 位小數ROUND(3.14159, 2) = 3.14
SIGN(n)正負號:1/0/-1SIGN(-10) = -1
PI()圓周率3.14159265358979
RAND([seed])0~1 隨機數RAND()

型別轉換

函數語法範例
CASTCAST(expr AS type)CAST(123 AS VARCHAR(10)) → '123'
CONVERTCONVERT(type, expr, style)CONVERT(VARCHAR, GETDATE(), 120) → '2024-01-15 14:30:00'
STRSTR(num, len, dec)STR(123.456, 8, 2) → ' 123.46'

統計彙總函數

AVG, COUNT, MAX, MIN, SUM, COUNT_BIG, STDEV, VAR, GROUPING, CHECKSUM_AGG

系統函數精選

函數用途範例
OBJECT_ID('name')取得物件 IDOBJECT_ID('dbo.Orders')
COL_NAME(table_id, col_id)取得欄位名稱COL_NAME(OBJECT_ID('Employees'), 1)
COL_LENGTH('table', 'col')取得欄位定義長度COL_LENGTH('Employees', 'LastName')
DB_NAME([db_id])取得資料庫名稱DB_NAME()
USER_NAME([uid])取得使用者名稱USER_NAME()
HOST_NAME()用戶端主機名稱HOST_NAME()
APP_NAME()應用程式名稱APP_NAME()
ISNULL(expr, val)NULL 替代值ISNULL(Commission, 0)
COALESCE(v1, v2, ...)回傳第一個非 NULLCOALESCE(Phone, Mobile, 'N/A')
CASE / IIF / CHOOSE條件運算IIF(Score >= 60, 'Pass', 'Fail')

實戰技巧:將 .gif 批次改為 .jpg

UPDATE Products
SET ImagePath = SUBSTRING(ImagePath, 1, DATALENGTH(ImagePath) - 3) + 'jpg'
WHERE ImagePath LIKE '%.gif'
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved