mysql里的函数用法

mysql里的函数用法

#mysql函数
#字符串拼接函数
SELECT CONCAT ('nice','to','meet','you')

#lower(str)
SELECT LOWER('Happy')

#Upper(str)
SELECT UPPER('fortunate')

#lpad(str,n,pad)
SELECT LPAD('your',12,'love')

#rpad(str,n,pad)
SELECT RPAD('your',8,'love')

#trim(str)
SELECT TRIM( 'look up' )

#subString(str,start,len)

SELECT SUBSTRING('nostalgic',3,5)

#数值函数

#ceil向上取整
SELECT CEIL(3.2)

#floor

SELECT FLOOR(1.9)

#mod取模
SELECT MOD(7,4)

#rand返回0-1的随机数

SELECT RAND(X,Y)

#round求参数x的四舍五入的值,保留y为小数
SELECT ROUND(3.116,2)

#日期函数

#curdate()返回当前日期

SELECT CURDATE()

#curtime()返回当前时间

SELECT CURTIME()

#now()返回当前日期和时间

SELECT NOW()

#year(date)返回指定date的日期

SELECT YEAR(CURDATE())

#month(date)返回指定date的月份

SELECT MONTH(CURDATE())

#day(date)获取指定date的日期

SELECT DAY(NOW())

#date_add(date,interval expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值

SELECT DATE_ADD(NOW(),INTERVAL 70 DAY)


SELECT DATE_ADD(NOW(),INTERVAL 70 HOUR)


SELECT DATE_ADD(NOW(),INTERVAL 70 YEAR)

#datediff求取的是两个时间之间的差数,第一个时间减去第二个时间

SELECT DATEDIFF('2022-8-11','2022-1-3')

#流程函数

#if(value,t,f) 如果value为true,则返回t,否则返回f

SELECT IF(TRUE,'ok','error')

SELECT IF(1>0,'right','false')

#ifcom.cn/tag/null" target="_blank">null(value1,value2),如果value1不为空,返回value1,否则返回value2

SELECT IFNULL( NULL,'返回我')

SELECT IFNULL('','返回的不是我是一个空格')

#case when else end

#举个例子,查寻出员工地址是南京和南昌的为一线城市,其他为二线城市
CREATE TABLE emp(
NAME CHAR(50) COMMENT '姓名',
sex CHAR(1) COMMENT '性别',
age INT COMMENT '年龄',
phone INT COMMENT '联系电话',
address VARCHAR(50) COMMENT '住址',
enterdata VARCHAR(50) COMMENT '入职日期'

)COMMENT '员工信息表';

INSERT INTO emp VALUES('曹操','男',24,18851831521,'南昌','2022-3-2'),('刘备','男',22,13271831521,'武汉','2022-1-2'),('关羽','男',24,18851831521,'南昌','2021-2-2'),
('张飞','男',24,18427831521,'宿迁','2022-3-2'),('亚瑟','男',27,18851831831,'南京','2021-3-2'),('安琪拉','女',24,18851831521,'上海','2022-3-2')


SELECT NAME,

CASE address WHEN '南京' THEN '一线城市' WHEN '南昌' THEN '一线城市' ELSE '二线城市' END

FROM emp