字串函式
分類 | 函式 | 說明 |
長度分析 | datalength(Char_expr) |
返回字串包含字元數,但不包含後面的空格 |
substring(expression,start,length) |
取子串 | |
right(char_expr,int_expr) |
返回字串右邊int_expr個字元 |
|
left(char_expr,int_expr) |
返回字串左邊int_expr個字元 |
|
字元操作類 | upper(char_expr) |
轉大寫 |
lower(char_expr) |
轉小寫 | |
space(int_expr) |
生成int_expr個空格 |
|
replicate(char_expr,int_expr) |
複製字串int_expr次 |
|
reverse(char_expr) |
反轉字串 |
|
stuff(char_expr1,start,length,char_expr2) |
將字串char_expr1中的從start開始的length個字元用char_expr2代替
|
|
ltrim(char_expr) |
去掉左側空格 | |
rtrim(char_expr) |
去掉右側空格 | |
ascii(char) |
取字元的ASCII碼 | |
char(ascii) |
根據ASCII碼取字元 | |
字串查詢 | charindex(char_expr,expression) |
返回char_expr的起始位置 |
patindex("%pattern%",expression) |
否則為0 |
數學函式
函式 | 說明 |
abs(numeric_expr) |
求絕對值 |
ceiling(numeric_expr) |
取大於等於指定值的最小整數(即向上取整) |
floor(numeric_expr) |
小於等於指定值得最大整數(即向下取整) |
avg(numeric_expr) |
取平均數 |
exp(float_expr) |
返回e的n次方 |
pi() |
圓周率π |
power(底數m,指數n) |
返回m的n次方 |
rand([int_expr]) |
隨機數產生器 |
round(numeric_expr,int_expr) |
按照int_expr規定的精度四捨五入 |
sign(int_expr) |
根據正數,零,負數,返回+1,0,-1 |
sqrt(float_expr) |
返回平方根 |
日期時間函式
函式 | 說明 | |
getdate() |
返回日期 | |
datename(datepart,date_expr) |
返回名稱如 June |
|
datepart(datepart,date_expr) |
datepart(datepart,date_expr) |
|
datediff(datepart,date_expr1.dateexpr2) |
日期差 |
|
dateadd(datepart,number,date_expr) |
返回日期加上 number 。datepart的 寫法 取值和意義如右側 |
yy 1753-9999 年份 |
qq 1-4 刻 |
||
mm 1-12 月 |
||
dy 1-366 日 |
||
dd 1-31 日 |
||
wk 1-54 周 |
||
dw 1-7 周幾 |
||
hh 0-23 小時 |
||
mi 0-59 分鐘 |
||
ss 0-59 秒 |
||
ms 0-999 毫秒 |
||
convert() |
日期轉換 |
系統其他函式
函式 | 說明 |
suser_name() |
使用者登入名 |
user_name() |
使用者在資料庫中的名字 |
show_role() |
對當前使用者起作用的規則 |
db_name() |
資料庫名 |
object_name(obj_id) |
資料庫物件名 |
col_name(obj_id,col_id) |
列名 |
col_length(objname,colname) |
列長度 |
valid_name(char_expr) |
是否是有效識別符號 |
型別轉換函式
函式 | 說明 |
convert (資料型別[(長度)],表示式[,樣式]) |
將一種資料型別的表示式顯式轉換為另一種資料型別的表示式; 長度:如果資料型別允許設定長度,可以設定長度,例如 varchar(10); 樣式:用於將日期型別資料轉換為字元資料型別的日期格式的樣式 |
cast (表示式 AS 資料型別[(長度)]) |
將一種資料型別的表示式顯式轉換為另一種資料型別的表示式。 例如:select cast(123 as nvarchar) 返回123 select N'年齡:' + cast(23 as nvarchar) 返回 年齡:23 |
系統函式
函式 | 說明 | 例子 |
newid 無引數 |
返回一個GUID(全域性唯一表示符)值 |
select newid() 返回:2E6861EF-F4DB-4FFE-86EB-637482FE982J2 |
isnumeric (任意表示式) |
判斷表示式是否為數值型別或者是否可以轉換成數值。 |
|
isnull (任意表示式1,任意表示式2) |
如果任意表示式1不為NULL,則返回它的值;否則,在將任意表示式2的型別轉換為任意表示式1的型別(如果這兩個類 型不同)後,返回任意表示式2的值。 |
|
isdate (任意表示式) |
確定輸入表示式是否為有效日期或可轉成有效的日期 |
排名函式
函式 | 說明 |
row_number 無引數 |
為結果集內每一行進行編號,從1開始後面行依次加1,常用於產生序號; |
聚合函式
函式 | 說明 |
count() |
返回組中的總條數,count(*)返回組中所有條數,包括NULL值和重複值項,如果抒寫表示式,則忽略空值,表示式為 任意表示式 |
max() |
返回組中的最大值,空值將被忽略,表示式為數值表示式,字串表示式,日期 |
min() |
返回組中的最小值,空值將被忽略,表示式為數值表示式,字串表示式,日期 |
sum() |
返回組中所有值的和,空值將被忽略,表示式為資料表示式 |
avg() |
返回組中所有值的平均值,空值將被忽略,表示式為資料表示式 |