#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')
#ifnull(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
发表评论