sql之函数

一、算数函数
sql之函数
例子:
select ABS(-2),运行结果为2。
select MOD(101,3),运行结果为2。
select ROUND(37.25,1),运行结果为37.3。

二、字符串函数
sql之函数
例子:
select CONCAT(‘abc’,123),运行结果为abc123。
select LENGTH(‘你好’),运行结果为6。
select CHAR_LENGTH(‘你好’),运行结果为2。
select LOWER(‘ABC’),运行结果为abc。
select UPPER(‘abc’),运行结果为ABC。
select REPLACE(‘fabcd’,‘abc’,‘123’),运行结果为f123d。
select SUBSTRING(‘fabcd’,1,3),运行结果为fab。
三、日期函数
sql之函数
SELECT CURRENT_DATE(),运行结果为 2019-04-03。

SELECT CURRENT_TIME(),运行结果为 21:26:34。

SELECT CURRENT_TIMESTAMP(),运行结果为 2019-04-03 21:26:34。

SELECT EXTRACT(YEAR FROM ‘2019-04-03’),运行结果为 2019。

SELECT DATE(‘2019-04-01 12:00:05’),运行结果为 2019-04-01。

这里需要注意的是,DATE 日期格式必须是 yyyy-mm-dd 的形式。如果要进行日期比较,就要使用 DATE 函数,不要直接使用日期与字符串进行比较

四、转换函数
sql之函数
SELECT CAST(123.123 AS INT),运行结果会报错。

SELECT CAST(123.123 AS DECIMAL(8,2)),运行结果为 123.12。

SELECT COALESCE(null,1,2),运行结果为 1。

CAST 函数在转换数据类型的时候,不会四舍五入,如果原数值有小数,那么转换为整数类型的时候就会报错。不过你可以指定转化的小数类型,在 MySQL 和 SQL Server 中,你可以用DECIMAL(a,b)来指定,其中 a 代表整数部分和小数部分加起来最大的位数,b 代表小数位数,比如DECIMAL(8,2)代表的是精度为 8 位(整数加小数位数最多为 8 位),小数位数为 2 位的数据类型。所以SELECT CAST(123.123 AS DECIMAL(8,2))的转换结果为 123.12。