函数 | 功能 |
---|---|
concat(s1,s2,…sn) | 连接s1,s2,…,sn为一个字符串 |
insert(str,x,y,instr) | 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr |
lower(str) | 将字符串str中字符变为小写 |
upper(str) | 将字符串str中字符变为大写 |
left(str,x) | 返回字符串str最左边的x个字符 |
right(str,x) | 返回字符串str最右边的x个字符 |
lpad(str,n,pad) | 用字符串pad对str最左边进行填充,直到长度为n个字符长度 |
rpad(str,n,pad) | 用字符串pad对str最右边进行填充,直到长度为n个字符长度 |
ltrim(str) | 去掉字符串str左侧的空格 |
rtrim(str) | 去掉字符串str右侧的空格 |
repeat(str,x) | 返回str重复x次的结果 |
replace(str,a,b) | 用字符串b替换字符串str中所有出现的字符串a |
strcmp(s1,s2) | 比较字符串s1和s2 |
trim(str) | 去掉字符串行尾和行头的空格 |
substring(str,x,y) | 返回从字符串str x位置起y个字符长度的字串 |
concat
concat(s1,s2,......sn)
:连接s1,s2,.....,sn
为一个字符串(类似于可变参数)。
select 'abc', concat('abc','123'), concat('abc','123','789');
#结果为:abc;abc123;abc123789
insert
insert(str,x,y,instr)
:将字符串str
从第x
位置开始,y
个字符长的子串替换为字符串instr
。
select insert('abcdefg',2,4,'123');
#结果为:a123fg
lower
lower(str)
:将字符串str
中字符变为小写
select lower('abcDEFg');
#结果为:abcdefg
upper
upper(str)
:将字符串str
中字符变为大写
select upper('abcDEFg');
#结果为:ABCDEFG
left
left(str,x)
:返回字符串str
最左边的x
个字符
select left('abcdefg',3);
#结果为:abc
right
right(str,x)
:返回字符串str
最右边的x
个字符
select right('abcdefg',3);
#结果为:efg
ltrim
ltrim(str)
:去掉字符串str
左侧的空格
select ltrim(' abc ');
#结果为:abc
rtrim
rtrim(str)
:去掉字符串str
右侧的空格
select rtrim(' abc ');
#结果为: abc
trim
trim(str)
:去掉字符串str
两端的空格
select trim(' abc ');
#结果为:abc
lpad
lpad(str,n,pad)
:用字符串pad
对str
最左边进行填充,直到长度为n
个字符长度
select 'abcdefg',lpad('abc',5,'*');
#结果为:**abc
rpad
rpad(str,n,pad)
:用字符串pad
对str
最右边进行填充,直到长度为n
个字符长度
select 'abcdefg',rpad('abc',5,'*');
#结果为:abc**
repeat
repeat(str,x)
:返回str
重复x
次的结果
select repeat('abc',3);
#结果为:abcabcabc
strcmp
strcmp(s1,s2)
:比较字符串s1
和s2
select strcmp('abc','abcd');
#结果为:-1
select strcmp('abc','abc');
#结果为:0
select strcmp('abc','ab');
#结果为:1
replace
replace(str,a,b)
:用字符串b
替换字符串str
中所有出现的字符串a
select replace('abcdabag','ab','12');
#结果为:12cd12ag
substring
substring(str,x,y)
:返回从字符串str
,x
位置起y
个字符长度的字串
select substring('abcdefg',2,5);
#结果为:bcdef
函数 | 功能 |
---|---|
abs(x) | 返回x的绝对值 |
ceil(x) | 返回大于x的最小整数值 |
floor(x) | 返回小于x的最大整数值 |
mod(x,y) | 返回x/y的模 |
rand() | 返回0~1内的随机值 |
round(x,y) | 返回参数x的四舍五入的有y位小数的值 |
truncate(x,y) | 返回数字x截断为y位小数的结果 |
abs
abs(x)
:返回x
的绝对值
select abs(-2);
#结果为:2
ceil
ceil(x)
:返回大于x
的最小整数
select ceil(4.5)
#结果为:5
float
float(x)
:返回小于x
的最大整数
select floor(4.5);
#结果为:4
mod
mod(x,y)
:返回x/y
的模(余数)
select mod(10,3);
#结果为:1
rand
rand()
:返回0-1
的随机数
select rand();
#结果为:0.7569426025794285
round
round(x,y)
:返回参数x
的四舍五入的有y
位小数的值
select round(5.4);
#结果为:5
select round(4.15922,2);
#结果为:4.16
truncate
truncate(x,y)
:返回x
截断为y
位小数的结果
select truncate(4.15922,3);
#结果为:4.159
函数 | 功能 |
---|---|
curdate() | 返回当前日期 |
curtime() | 返回当前时间 |
now() | 返回当前的日期和时间 |
unix_timestamp(date) | 返回日期date的unix时间戳 |
from_unixtime | 返回unix时间戳的日期值 |
week(date) | 返回日期date为一年中的第几周 |
year(date) | 返回日期date的年份 |
hour(time) | 返回time的小时值 |
minute(time) | 返回time的分钟值 |
monthname(date) | 返回日期date的月份名 |
date_format(date,fmt) | 返回按字符串fmt格式化日期datee值 |
date_add(date,interval expr type) | 返回一个日期或时间值加上一个时间间隔的时间值 |
datediff(expr,expr2) | 返回起始时间expr和结束时间expr2之间的天数 |
curdate
和current_date
select curdate()
#结果为:2020-04-07
curtime
和current_time
select curtime()
#结果为:13:41:58
now
select now()
#结果为:2020-04-07 13:42:34
year
select year(now());
weekday
select weekday(now())
date_format
select date_format(now(),'%y年%m月%r日')
#结果为:20年04月01:47:43 PM日