ABS(x):返回x的绝对值 CEIL(x),CEILIN(x):返回不小于x的最小整数值 Floor(x):返回不大于x的最大整数值 Rand():返回0~1的随机数 Rand(x):返回0~1的随机数,x值相同时返回随机数相同 Sign(x):返回参数作为-1,0或1的符号,该符号取决于x的值为负、零或正 Pi():返回∏的值,默认的显示小数位数是7位
truncate(x,y):返回数值x保留到小数点后y位的值 Round(x):返回离x最近的整数 round(x,y):返回数值x保留到小数点后y位的值,但要四舍五入 Pow(x,y),power(x,y):返回x的y乘方的结果值 Mod(x,y):返回x除以y以后的余数
Char_length(s):返回字符串s的字符数 Length(s):返回值为字符串s的长度,单位为字节 Concat(s1,s2,…):返回结果为连接参数产生的字符串 Insert(s1,x,len,s2):将字符串s2替换s1的x位置开始长度为len的字符串 Upper(s),ucase(s):将字符串s的所有字母都变成大写字母 Lower(s),lcase(s)😃:将字符串s的所有字母都变成小写字母 Left(s,n):从字符串s开始的前n个字符 Right(s,n):从字符串s开始,返回右边的n个字符
Lpad(s1,len,s2):返回字符串s1,其左边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符 Rpad(s1,len,s2):返回字符串s1,其右边由字符串s2填补到len字符长度,假如s1的长度大于len,则返回值被缩短至len字符 Ltrim(s):返回字符串s,其引导空格字符被删除 Rtrim(s):返回字符串s,结尾空格字符被删除 Trim(s):去掉字符串s开始处和结尾处的空格 Trim(s1 from s):去掉字符串s中开始处和结尾处的字符串s1 Repeat(s,n):将字符串s重复n次 Space(n):返回n个空格 Replace(s,s1,s2):用字符串s2替代字符串s中的字符串s1 Strcmp(s1,s2):比较字符串s1和s2 Substring(s,n,len):获取从字符串s中的第n个位置开始长度为len的字符串
SELECT LPAD('abcd',3,'abcd')//结果是abc SELECT RPAD('ABCD',3,'ABCD')//结果是ABC SELECT LTRIM(' ABCD')//结果是ABCD SELECT RTRIM('ABCD ')//结果是ABCD SELECT TRIM(' ABC '),TRIM('C' FROM 'CABCDC')//结果是ABC和ABCD SELECT REPEAT('C',3)//结果是CCC SELECT REPLACE('ABCD','a','b') SELECT STRCMP('abcd','abcde')//结果是-1 SELECT SUBSTRING('abcde',2,3)//结果是bcdCurdate(),current_date():返回当前日期 Curtime(),current_time():返回当前时间 now(),current_timestamp(),localtime(),sysdate(),localtimestamp():返回当前日期和时间 Month(d):返回日期d中的月份值,范围是1~12 Dayname(d):返回日期d是星期几 Dayofweek(d):返回日期是星期几,1表示星期日 Week(d):计算机日期d是本年的第几个星期 Dayofyear(d):计算日期d是本年的第几天 Dayofmonth(d):计算日期d是本月的第几天 Year(d):返回日期的年份值 Quarter(d):返回日期d是第几季度,范围是1~4 Hour(t):返回时间t中的小时值 Minute(t):返回时间t中的分钟值 Second(t):返回时间t中的秒钟值 Extract(type from d):从日期d中获取指定的值,type指定返回的值,如year,hour等时间转换为秒 Time_to_sec(t):将时间t转换为秒 Datediff(d1,d2):计算日期d1~d2之间相隔的天数 Adddate(d,n): 计算起始日期d加上n天的日期 Adddate(d,interval expr type):计算起始日期d加上一个时间段后的日期 Subdate(d,n):计算起始日期d减去n天后的日期 Subdate(d,interval expr type):计算起始日期d减去一个时间段后的日期 Addtime(t,n):计算起始时间t加上n秒的时间 Subtime(t,n):计算起始时间t减去n秒的时间 Get_format(type,s):根据字符串s获取type类型数据的显示格式
select curdate(),curtime() select now() select year(now())as 年,month(now())as 月,day(now())as 日,hour(now())as 时,minute(now())as 分,second(now())as 秒 select dayname(now()) select Dayofweek(now()) select week(curdate()) select Quarter(curdate()) 1.查询本日寿星从员工表,显示字段:姓名,部门,生日 select 姓名,部门,出生日期 from 员工 where month(now())=month(出生日期) and day(now())=day(出生日期) 2.将本月寿星导出至一张表中:本月寿星名单,姓名,部门,生日 create table '本月寿星名单' select 姓名,部门,出生日期 from 员工 where month(出生日期)=month(now()) Datediff(d1,d2):计算日期d1~d2之间相隔的天数 Adddate(d,n):计算起始日期d加上n天的日期 select datediff(curdate(),'2010-10-1')Adddate(d,interval expr type):计算起始日期d加上一个时间段后的日期 select adddate(curdate(),7) as 一周后,adddate(curdate(),-7) as 一周 前,adddate(curdate(),1)as 明天,adddate(curdate(),1) as 昨 天,adddate(curdate(),2) as 后天,adddate(curdate(),-2)as 前天 select adddate(curdate(),interval -2 year) select adddate(curdate(),interval 2 day) select adddate(curdate(),interval 2 month) subdate (d,n):计算起始日期d减去n天后的日期 subdate(d,interval expr type):计算起始日期d减去一个时间段后的日期 select subdate(curdate(),2) select subdate(curdate(),interval 2 day) select subdate(curdate(),interval 2 year) 1-从员工表中找出30年都没有加薪的员工(姓名,部门,目前薪资,加薪日期) select 姓名,部门,目前薪资,加薪日期 from 员工 where subdate(curdate(),interval 30 year)>加薪日期 select 姓名,部门,目前薪资,加薪日期 from 员工 where year(curdate())-year(加薪日期)>30 select 姓名,部门,目前薪资,加薪日期 from 员工 where timestampdiff(year,加薪日期,curdate())>30 2-将最近一次加薪的员工找出来,显示:姓名,部门,目前薪资,加薪日期) select 姓名,部门,目前薪资,加薪日期 from 员工 order by 加薪日期 desc limit 1 3-将以上员工加薪1000元,同时将加薪时间更新 update员工set目前薪资=目前薪资+1000,加薪日期=curdate() where员工编号in (select t.员工编号from ( select员工编号from员工 where timestampdiff(year,加薪日期,curdate())>30)t)If(expr,v1,v2):如果表达式expr成立,则执行v1,否则执行v2 Ifnull(v1,v2):如果v1不为空,则显示v1的值,否则显示v2的值 Case when expr1 then v1 [when expr2 then v2…] [else wn] end: case表示函数开始,end表示函数结束 Case expr when e1 then v1 [when e2 then v2…] [else wn]end:case表示函数开始,end表示函数结束
Version():获取数据库版本号 Connection_id:获取服务器的连接数 Database(),schema():获取当前数据库名 User(),system_user(),session_user():获取当前用户 Current_user(),current_user:获取当前用户 Charset(str):获取字符串str的字符集 Collation(str):获取字符串str的字符排列方式 Last_insert_id():获取最近生成的auto_increment值
Password(str):对字符串str进行加密。经此函数加密后的数据是不可逆的。其经常用于对用户注册的密码进行加密处理 Md5(str):对字符串str进行加密。经常用于对普通数据进行加密 Encode(str,pswd_str):使用字符串pswd_str来加密字符串str Decode(crypt_str,pswd_str):使用字符串pswd_str来为crypt_str解密
select md5('123456') as 加密后的密码Format(x,n):将数字x进行格式化,将x保留到小数点后n位 Ascii(s): 返回字符串s的第一个字符的ascii码 Conv(x,f1,f2):将x从f1进制数变成f2进制数 Inet_aton(ip):可以将ip地址转换为数字表示 Inet_ntoa(n):可以将数字n转换成ip的形式