SQL 常用函数-笔记
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)-是否是有效标识符