sql的四大函数
字符串函數:
1.charindex(字符串表達式 1, 字符串表達式2[,整數表達式])
select charindex('ab','BCabTabD')返回 3
select charindex('ab','BCabTabD',4)返回 6,
在字符串2 中查找字符串 1,如果存在返回第一個匹配的位置,如果不存在返回0。
如果字符串 1 和字符串 2 中有一個是null 則返回 null。可以指定在字符串
2.char(整數表達式)
select char(100) 返回 d
3.left(字符串表達式,整數表達式)
select left('abcdefg',2) 返回 ab 返回字符串中從左邊開始指定個數的字符
4.right(字符串表達式,整數表達式)
select right('abcdefg',2) 返回 fg 返回字符串中從右邊開始指定個數的字符。
5.len(字符串表達式)
select len('abcdefg')返回 7
select len('abcdefg') 返回 7
返回指定字符串表達式的字符數,其中不包含尾隨空格。
6.lower(字符串表達式)
select lower('ABCDEF')返回 abcdef
返回大寫字符數據轉換為小寫的字符表達式。
7.upper(字符串表達式)
select upper('abcdef')返回 ABCDEF
返回小寫字符數據轉換為大寫的字符表達式。
8.ltrim(字符串表達式)
select ltrim('abc')返回 abc
返回刪除了前導空格之后的字符表達式。
9.stuff(字符串表達式 1,開始位置,長度,字符串表達式 2)
select stuff('abcdef',2,2,'123')
返回 a123def
在字符串表達式
1 中在指定的開始位置刪除指定長度的字符,
并在指定的開始位置處插入字符串表達式
2。返回新字符串
10.substring(字符串表達式,開始位置,長度)
select substring('abcdef',2,2)返回bc
返回子字符串
11.replace(字符串表達式 1,字符串表達式 2,字符串表達式 3)
Select replace('abcttabchhabc','abc','123')
返回 123tt123hh123
用字符串表達式3 替換字符串表達式 1 中出現的所有字符串表達式2的匹配項。返回新的字符串
日期和時間函數
1.dateadd(日期部分,數字,日期)
select dateadd(year,45,'1990-12-11') 返回 2035-12-11 00:00:00.000
select dateadd(month,45,'1990-12-11') 返回 1994-09-11 00:00:00.000
select dateadd(mm,45,'1990-12-11') 返回 1994-09-11 00:00:00.000
select dateadd(yy,-12,'1990-12-11') 返回 1978-12-11 00:00:00.000
2.datediff(日期部分,開始日期,結束日期) 返回兩個指定日期的指定日期部分的差的整數值。
select datediff(yy,'1990-12-11','2008-9-10') 返回 18
selectdatediff(mm,'2007-12-11','2008-9-10') 返回 9
3.datename(日期部分,日期) 返回表示指定日期的指定日期部分的字符串。
select datename(mm,'2007-12-11')返回 12
select datename(dw,'2007-12-11')返回星期二
select datename(dd, '2007-12-11')返回 11
4.datepart(日期部分,日期) 返回表示指定日期的指定日期部分的整數。
wk 表示一年中的第幾個星期 dy 表示一年中的第幾天, dw 表示一星期中星期幾,返回整數默認 1 為星期天
select datepart(mm,'2007-12-11')返回 12
select datepart(dw,'2007-12-11')返回 3
select datepart(dd, '2007-12-11')返回 11
5.getdate無參數 返回當前系統日期和時間。 select getdate()
6.縮寫
縮寫year年yy, yyyy quarter季qq, q month月mm, m dayofyear天(請看函數中的說明)dy, y
day天(請看函數中的說明)dd, d week星期wk, ww weekday天(請看函數中的說明)dw, w
hour小時hh minute分鐘mi, n second秒ss, s millisecond毫秒ms
數學函數
1.abs(數值表達式) 返回指定數值表達式的絕對值(正值)
select abs(-23.4)返回 23.4
2.rand([整數表達式]) 返回從0 到 1 之間的隨機 float 值。
整數表達式為種子,使用相同的種子產生隨機數相同。即使用同一個種子值重復調用RAND() 會返回相同的結果。
不指定種子則系統會隨機生成種子。
select rand(100)返回0.715436657367485
select rand()返回0.28463380767982
select rand()返回0.0131039082850364
3.round(數值表達式[,長度[,操作方式]])
返回一個數值,舍入到指定的長度。注意返回的數值和原數值
的總位數沒有變化。
長度:舍入精度。如果長度為正數,則將數值舍入到長度指定的小數位數。
如果長度為負數,則將數值小數點左邊部分舍入到長度指定的長度。
注意如果長度為負數并且大于小數點前的數字個數,則將返回0。
如果長度為負數并且等于小數點前的數字個數且操作方式為四舍五入時,最前面的一位小于5 返回 0,大于等于 5 導致錯誤出現,
如果操作方法不是四舍五入時則不會出現錯誤,返回結果一律為0。
操作方式:默認為 0 遵循四舍五入,指定其他整數值則直接截斷。
select round(1236.555,2)返回1236.560
select round(1236.555,2,1)返回1236.550
select round(1236.555,0)返回1237.000
select round(1236.555,-1)返回1240.000
select round(1236.555,-1,1)返回1230.000
select round(1236.555,-2)返回1200.000
select round(1236.555,-3)返回1000.000
select round(1236.555,-4)返回0.000
select round(5236.555,-4)出現錯誤
select round(5236.555,-4,1)返回0.000
4.獲取大于等于最小整數值Celling SELECT Celling(123.1) --輸出124
5.獲取小于等于最大整數值Floor SELECT Floor(123.9999) --輸出123
6.獲取指定長度和精度Round SELECT Round(123.456789,3) -- 輸出 123.457000 精確到小數點后3位
7.SQUARE返回指定浮點值的平方。 SELECT Square(5) --25
8.SQRT 返回指定浮點值的平方根(開方)。 SELECT SQRT(25) --5
系統函數
1.CONVERT 用來轉變數據類型 SELECT CONVERT (VARCHAR (5),12345) 返回:字符串12345
2.CURRENT_USER 返回當前用戶的名字 SELECT CURRENT_USER 返回:你登錄的用戶名
3.HOST_NAME 返回當前用戶所登錄的計算機名字 SELECT HOST_NAME() 返回:你所登錄的計算機的名字
4.SYSTEM_USER 返回當前所登錄的用戶名稱 SELECT SYSTEM_USER 返回:你當前所登錄的用戶名
?
轉載于:https://www.cnblogs.com/ZkbFighting/p/8145314.html
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
- 上一篇: Android热更新开源项目Tinker
- 下一篇: 【bzoj4007】[JLOI2015]