目录
函数
1、日期函数
| 函数名称 |
描述 |
| current_date() |
当前日期 |
| current_time() |
当前时间 |
| current_timestamp() |
当前时间戳 |
| date(datetime) |
返回datetime参数的日期部分 |
| date_add(date,interval d_value_type) |
在date中添加日期或时间 interval后的数值单位可以是:year minute second day |
| date_sub(date,interval d_value_type) |
在date中减去日期或时间 interval后的数值单位可以是:year minute second day |
| datediff(date1,date2) |
两个日期的差,单位是天 |
| now() |
当前日期时间 |
sql
复制代码
select current_date();
+----------------+
| current_date() |
+----------------+
| 2017-11-19 |
+----------------+
sql
复制代码
select current_time();
+----------------+
| current_time() |
+----------------+
| 13:51:21 |
+----------------+
sql
复制代码
select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2017-11-19 13:51:48 |
+---------------------+
sql
复制代码
select date_add('2017-10-28', interval 10 day);
+-----------------------------------------+
| date_add('2017-10-28', interval 10 day) |
+-----------------------------------------+
| 2017-11-07 |
+-----------------------------------------+
sql
复制代码
select date_sub('2017-10-1', interval 2 day);
+---------------------------------------+
| date_sub('2017-10-1', interval 2 day) |
+---------------------------------------+
| 2017-09-29 |
+---------------------------------------+
sql
复制代码
select datediff('2017-10-10', '2016-9-1');
+------------------------------------+
| datediff('2017-10-10', '2016-9-1') |
+------------------------------------+
| 404 |
+------------------------------------+
2、字符串函数
| 函数名称 |
描述 |
| charset(str) |
返回字符串字符集 |
| concat(string [,...]) |
连接字符串 |
| instr(string,substring) |
返回substring在string中出现的位置,没有返回0 |
| ucase(string2) |
转换成大写 |
| lcase(string2) |
转换成小写 |
| left(string2,length) |
从string2中的左边取length个字符 |
| length(string) |
string的长度 |
| replace(str,search_str,replace_str) |
在str中用replace_str替换search_str |
| strcmp(string1,string2) |
逐字符比较字符串的大小 |
| substring(str,position [,length]) |
从str的postion开始,取length个字符 |
| ltrim(string) rtrim(string) trim(string) |
去除前空格和后空格 |
sql
复制代码
select charset(ename) from EMP;
- 要求显示exam_result表中的信息,显示格式:"XXX的语文是XXX分,数学XXX分,英语XXX分"
sql
复制代码
select concat(name, '的语文是',chinese,'分,数学是',math,'分') as '分数' from student;
sql
复制代码
select length(name), name from student;
注意:length 函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)
sql
复制代码
select replace(ename, 'S', '上海') ,ename from EMP;
sql
复制代码
select substring(ename, 2, 2), ename from EMP;
sql
复制代码
select concat(lcase(substring(ename, 1, 1)), substring(ename, 2)) from EMP;
3、数学函数
| 函数名称 |
描述 |
| abs(number) |
绝对值函数 |
| bin(decimal_number) |
十进制转二进制 |
| hex(decimalNumber) |
转换成十六进制 |
| conv(number,form_base,to_case) |
进制转换 |
| ceiling(number) |
向上去整 |
| floor(number) |
向下去整 |
| format(number,decimal_places) |
格式化,保留小数位数 |
| hex(decimalNumber) |
转换成十六进制 |
| rand() |
返回随机浮点数,范围[0.0,0.1] |
| mod(number,denominator) |
取模,求余 |
sql
复制代码
select abs(-100.2);
sql
复制代码
select ceiling(23.04);
sql
复制代码
select format(12.3456, 2);
sql
复制代码
select rand();
4、其他函数
sql
复制代码
select user();
- md5(str) 对一个字符串进行md5摘要,摘要后得到一个32位字符串
sql
复制代码
select md5('admin')
sql
复制代码
+----------------------------------+
| md5('admin') |
+----------------------------------+
| 21232f297a57a5a743894a0e4a801fc3 |
+----------------------------------+
sql
复制代码
select database();
- password() 函数,MySQL 数据库使用该函数对用户加密
sql
复制代码
select password('root');
+-------------------------------------------+
| password('root') |
+-------------------------------------------+
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-------------------------------------------+
- ifnull(val1, val2) 如果 val1 为 null,返回 val2,否则返回 val1 的值
sql
复制代码
select ifnull('abc', '123');
+----------------------+
| ifnull('abc', '123') |
+----------------------+
| abc |
+----------------------+
1 row in set (0.01 sec)
select ifnull(null, '123');
+---------------------+
| ifnull(null, '123') |
+---------------------+
| 123 |
+---------------------+
1 row in set (0.00 sec)