字符串相关的函数:
转大写:upper和ucase
转小写:lower和lcase
举例select upper/lower 字段名 from 表名;
截取字符串:
语法:substr(被揭去的字符串,起止下表,截取长度)
起止下标:起止下表位置,为正数,从左边开始数。为负数,从右边开始数。截取长度都是从左往右截,不够时,截止。
获取字符串长度length:
语法:select length(字段名) from 表名;
获取字符的个数char_length:
select char_length(字段名) from 表名;
字符串拼接concat:
语句:select concat ('aaa','bbb','ccc');
结果:aaabbbccc
去除字符串前后空白trim:
语句:select trim(' aaa aa a ')
结果:aaa aa a
拓展:
1、去除前置的所有0:
select trim(leading '0' from '0001111')
结果为:1111
2、去除后置的所有0:
select trim(trailing '0' from '11110000')
结果:1111
3、取出两边的:
select trim(both '0' from '000011110000')
结果:1111
生成随机数:
rand():生成0到1的随机浮点数
select rand()
rand(x):x为任意数,相当于map集合中的k,生成的随机数相当于value
select rand(x)
四舍五入:
round(x):四舍五入,保留整数位,去除所有小数
round(x,y):四舍五入,保留y个小数。
舍去:
truncate(x,y)舍去小数,保留y个小数
取整数:
ceil:向上取整;floor:向下取整
空处理:
null
select null * 10 ;
结果null
ifnull
select ifnull(x,y):当x为null时,使用y把null替换。
select ifnull(null,10)*10;
结果:100
日期和时间相关的时间函数:
now():获取的是执行select语句的时刻
sysdate():获取的是执行sysdate()函数的时刻
获取日期:
curdate()
current_date()
current_date
获取时间
curtime()
current_time()
current_time
获取单独的时分秒信息:
select year(now());
select month(now());
select day(now());
select hour(now());
select minute(now());
select second(now());
date_add:
作用:给指定日期添加间隔的时间,从而得到一个新的日期
语法格式:date_add(日期,interval expr 单位) 其中expr可以为负数,则该函数和date_sub等价。
date_sub:
作用:给指定日期减去间隔的时间,从而得到一个新的日期
语法格式:date_sub(日期,interval expr 单位)
date_format格式:
str_to_date:
作用:将char类型的日期字符串转换为日期类型的date,通常使用在插入和修改操作当中
dayodweek,dayofmonth,dayofyear:
分别表示:一周中的第几天,一个月中的第几天,一年中的第几天
last_day:
表示本月的最后一天:last_day(now())
datediff(日期差)
,
timediff(时间差)
if
条件为true返回“yes”,如果条件为false则返回“no”
cast:
格式:cast(值 as 数据类型)
用于数据类型的转换(类型包括以下)