SQL中的函数
函数大致可以分为以下几种:
● 算术函数(用来进行数值计算的函数)
● 字符串函数(用来进行字符串操作的函数)
● 日期函数(用来进行日期操作的函数)
● 转换函数(用来转换数据类型和值的函数)
● 聚合函数(用来进行数据聚合的函数)
聚合函数5个,其他函数超多200个,而常用函数30-50个。
算术函数(用来进行数值计算的函数)
+ 加 - 减 * 乘 / 除 abs(<字段>) | abs(数值) --绝对值 mod(被除数,除数) --取余 mod(7,3)=1 ROUND(对象数值,保留小数的位数) --四舍五入 ceil() --向上取整 floor() --向下取整
字符串函数(用来进行字符串操作的函数)
字符串拼接:
字符串1||字符串2 -- || 拼接函数 【Oracle | DB2 | PostgreSQL】有null则拼接的结果是null
str1 + str2 + str3 -- 【SQL Server】
CONCAT(str1, str2, str3) -- 【MySQL SQL | Server 2012 及之后】
------------------------------
LENGTH(字符串) -- 字符串长度 【Oracle| DB2| PostgreSQL| MySQL】
LEN(str1) -- 【SQL Server】
------------------------------
LOWER(字符串) -- 小写转换
REPLACE(对象字符串,替换前的字符串,替换后的字符串) -- 字符串的替换
------------------------------
SUBSTRING(对象字符串 FROM 截取的起始位置 FOR 截取的字符数) -- 字符串的截取 【PostgreSQL | MySQL】
SUBSTRING(对象字符串,截取的起始位置,截取的字符数) --【SQL Server】
SUBSTR(对象字符串,截取的起始位置,截取的字符数) --【Oracle | DB2】
-----------------------------
UPPER(字符串) --大写转换
日期函数(用来进行日期操作的函数)
CURRENT_DATE --当前日期 【PostgreSQL | MySQL】
CAST(CURRENT_TIMESTAMP AS DATE) --需要对日期进行格式转换【SQL Server】
CURRENT_TIME --当前时间
CAST(CURRENT_TIMESTAMP AS TIME) -- 【SQL Server】
CURRENT_TIMESTAMP -- 当前日期和时间【SQL Server | PostgreSQL |MySQL】
EXTRACT(日期元素 FROM 日期) -- 截取日期元素
------------------------------------------------------
SELECT CURRENT_TIMESTAMP,
EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS year,
EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS month,
EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS day,
EXTRACT(HOUR FROM CURRENT_TIMESTAMP) AS hour,
EXTRACT(MINUTE FROM CURRENT_TIMESTAMP) AS minute,
EXTRACT(SECOND FROM CURRENT_TIMESTAMP) AS second;
------------------------------------------------------
转换函数(用来转换数据类型和值的函数)
CAST(转换前的值 AS 想要转换的数据类型) -- 类型转换
COALESCE(数据1,数据2,数据3……) --将NULL转换为其他值
----------------------------例
SQL Server PostgreSQL MySQL
SELECT COALESCE(NULL, 1) AS col_1,
COALESCE(NULL, 'test', NULL) AS col_2,
COALESCE(NULL, NULL, '2009-11-01') AS col_3;
聚合函数(用来进行数据聚合的函数)
常用的5个聚合函数:
count(<字段>)| count(*) | count(1) sum(<字段>) avg(<字段>) min(<字段>) max(<字段>)
有待进一步更新,欢迎留言