首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL Server 字串與數值常用函數速查大全

     編輯:MySQL 資料庫相關知識

一、字串函數

函數語法範例結果說明
STUFFSTUFF(str, start, len, repl)STUFF('hi,world!',4,4,'****')hel****orld!刪除 start 起 len 字元,插入 repl
SUBSTRINGSUBSTRING(str, start, len)SUBSTRING('Hello,World!',2,10)ello,World從 start 取 len 字元
REPLACEREPLACE(str, old, new)REPLACE('hi,world!','ll','aa')heaao,world!全域替換
LTRIMLTRIM(str)LTRIM(' hi,world!')hi,world!去左空白
RTRIMRTRIM(str)RTRIM('hi,world! ')hi,world!去右空白
TRIMTRIM(str)TRIM(' hi,world! ')hi,world!去左右空白 (SQL Server 2017+)
ISNULLISNULL(expr, val)ISNULL(NULL, 'a')aNULL 替換
CASTCAST(expr AS type)CAST('2007-10-11' AS DATETIME)2007-10-11 00:00:00型別轉換
CONVERTCONVERT(type, expr, style)CONVERT(DATETIME,'2007-10-11')2007-10-11 00:00:00帶格式轉換
LENLEN(str)LEN('hi,world!')12長度(不含尾空白)
LEFTLEFT(str, n)LEFT('hi,world!',3)hel左 n 字元
RIGHTRIGHT(str, n)RIGHT('hi,world!',3)ld!右 n 字元
CHARINDEXCHARINDEX(sub, str)CHARINDEX('e','hi,world!')2子字串位置(1-based)
LOWERLOWER(str)LOWER('HELLO')hello轉小寫
UPPERUPPER(str)UPPER('hello')HELLO轉大寫
REPLICATEREPLICATE(str, n)REPLICATE('Hi',3)HiHiHi重複 n 次
REVERSEREVERSE(str)REVERSE('Hello')olleH反轉
DIFFERENCEDIFFERENCE(s1, s2)DIFFERENCE('sun','san')4發音相似度 0-4(英文)
STRSTR(num, len, dec)STR(123.34584, 7, 3)123.346數值轉定寬字串,四捨五入

二、數值函數

函數語法範例結果說明
FLOORFLOOR(num)FLOOR(123456.1234)123456向下取整
CEILINGCEILING(num)CEILING(123.01)124向上取整
ROUNDROUND(num, dec)ROUND(126.018,2)126.12四捨五入
RANDRAND([seed])RAND()0.9417...0-1 隨機數
PIPI()PI()3.14159265358979圓周率

常用組合技

-- 去除前 3 字元
SELECT RIGHT(str, LEN(str)-3);

-- 去除後 3 字元
SELECT LEFT(str, LEN(str)-3);

-- 取得括號內內容:[哈哈哈哈]aaa -> 哈哈哈哈
SELECT LEFT(RIGHT('[哈哈哈哈]aaa', LEN('[哈哈哈哈]aaa')-1), 4);

版本提醒

  • TRIM、TRANSLATE、STRING_AGG 等需 SQL Server 2017+。
  • 舊版用 LTRIM(RTRIM(...)) 替代 TRIM。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved