SQL常用函數:
1. ASCII():返回字符串最左端字符的ASCII碼。
2. CHAR():將ASCII轉換成字符。(0~255)
3. LOWER()和UPPER()。
4. STR():把數值型數據轉換爲字符型數據
SRT(<float_expression>[,length[,<decimal>]])
LTRIM()把字符串頭部空格去掉,RTRIM()把字符串尾空格去掉。
取子串函數:
1. LEFT(<chars>, length):返回char左起length個字符。
2. RIGHT(<chars>, length):返回char右起length個字符。
3. SUBSTRING(<chars>, <position>, length):返回chars左邊第position個字符起length個字符部分。
字符串比較:
1. QUOTENAME(<chars>[,quote_char]):返回被特定字符括起來的字符串。quote_char缺省爲"[]"
2. REPLICATE(<chars>, integer):返回一個重複integer次數的chars。
3. REVERSE(<chars>):將chars字符串的字符排列順序顛倒。
4. REPLACE(str1, str2, str3):用str3替換在str1中的子串str2.
5. SPACE(length):返回一個有指定長度的空白字符串。
6. STUFF(str1, start, length, str2):用str2替換str1中從start開始的length長度的字符串。
數據類型轉換函數:
1. CAST(str1 AS <data_type>[length]):將str1顯示的轉換爲另一數據類型。
2. CONVERT(<data_type>[length], <expression>[, style])。
在標準SQL中用於轉化encoding:CONVERT('abc' USING utf8); // MySQL
CONVERT('abc', 'UTF8', 'LATIN'); // postgres
在SQL Server中:與CAST類似
日期函數:
1. day(str), 返回str中的日期值
2. month(str), year(str)
3. DATEADD(<datepart>, <number>, <data>) // data加上datepart的add之後的新日期
4. DATEDIFF(<datepart>, <date1>, <date2>)
5. DATENAME(<datepart>, <date>) // 返回datepart指定部分
6. DATEPART(<datepart>, <date>) //返回整數,DATEPART(mm, date) = month(date)
7. GETDATE() // 返回系統當前時間
統計函數:
AVG()-平均值, count-行數, first()-第一個值, last()-最後一個值, max()-最大值, min()-最小值, total-總計
數學函數:
abs(number)-絕對值
ceiling(numberic)-取大於等於指定值的最小值整數
exp(float_expr)-取指數
floor(numberic)-小於等於指定值的最大整數
pi()-3.14
power(numberic, power)-返回power次方
rand([int])-隨機數產生器
sign(int)-根據正數,0,負數,返回1,0,-1
sqrt(float)-平方根
系統函數:
suser_name()-用戶登陸
user_name()-用戶在數據庫中的名字
show_role()-當前用戶起作用的規則
db_name()-數據庫名
object_name(obj_id)-數據庫對象名
col_name(object_id, col_id)-列名
col_length(objname, colname)-列長度
valid_name(char_expr)-是否是有效標識符