MySQL常用函数-字符串函数-数字函数-日期函数-高级函数

16. MySQL常用函数-字符串函数-数字函数-日期函数-高级函数

1. 字符串函数

函数 描述 实例
CHAR_LENGTH(s) 返回字符串 s 的字符数 SELECT CHAR_LENGTH('lijw') AS '长度';
CONCAT(s1,s2...sn) 字符串 s1,s2 等多个字符串合并为一个字符串 SELECT CONCAT('Happy','niu','year');
LOWER(s) 将字符串 s 的所有字母变成小写字母 SELECT LOWER('HAPPY NIU YEAR');
UPPER(s) 将字符串转换为大写 SELECT UPPER("happy niu year");
SUBSTR(s,  start,length) 从字符串 s 的 start 位置截取长度为 length 的子字符串 SELECT SUBSTR("Happy niu year",1,2);
TRIM(s) 去掉字符串 s 开始和结尾处的空格 SELECT TRIM(' Happy niu year ')

示例:

-- 返回字符串的字符数
mysql> SELECT CHAR_LENGTH('lijw') AS '长度';
+--------+
| 长度   |
+--------+
|      4 |
+--------+
1 row in set (0.00 sec)


-- 字符串 s1,s2 等多个字符串合并为一个字符串
mysql> SELECT CONCAT('Happy','niu','year');
+------------------------------+
| CONCAT('Happy','niu','year') |
+------------------------------+
| Happyniuyear                 |
+------------------------------+
1 row in set (0.00 sec)

-- 将字符串 s 的所有字母变成小写字母
mysql> SELECT LOWER('HAPPY NIU YEAR');
+-------------------------+
| LOWER('HAPPY NIU YEAR') |
+-------------------------+
| happy niu year          |
+-------------------------+
1 row in set (0.00 sec)

-- 将字符串转换为大写
mysql> SELECT UPPER("happy niu year");
+-------------------------+
| UPPER("happy niu year") |
+-------------------------+
| HAPPY NIU YEAR          |
+-------------------------+
1 row in set (0.00 sec)

-- 从字符串 s 的 start 位置截取长度为 length 的子字符串
mysql> SELECT SUBSTR("Happy niu year",1,2);
+------------------------------+
| SUBSTR("Happy niu year",1,2) |
+------------------------------+
| Ha                           |
+------------------------------+
1 row in set (0.00 sec)

-- 去掉字符串 s 开始和结尾处的空格
mysql> SELECT TRIM(' Happy niu year ');
+--------------------------+
| TRIM(' Happy niu year ') |
+--------------------------+
| Happy niu year           |
+--------------------------+
1 row in set (0.00 sec)

mysql> 

2. 数字函数

函数 描述 实例
RAND() 返回 0 到 1 的随机数 SELECT RAND();
ROUND(小 小数 数, 保留 几位 位) 四舍五入保留几位小数 SELECT ROUND(3.1415926,2) ;
LEAST(expr1, expr2, expr3, ...) 返回列表中的最小值 SELECT LEAST(13, 14, 521, 74, 1)
GREATEST(expr1,  expr2,expr3, ...) 返回列表中的最大值 SELECT GREATEST(13, 14, 521, 74, 1)

示例:

-- 返回0-1之间的随机数 
mysql> SELECT RAND();
+--------------------+
| RAND()             |
+--------------------+
| 0.5957162041177193 |
+--------------------+
1 row in set (0.00 sec)

mysql> 


-- 四舍五入保留几位小数
mysql> SELECT ROUND(3.1415926,2);
+--------------------+
| ROUND(3.1415926,2) |
+--------------------+
|               3.14 |
+--------------------+
1 row in set (0.00 sec)


-- 返回列表中的最小值
mysql> SELECT LEAST(13, 14, 521, 74, 1);
+---------------------------+
| LEAST(13, 14, 521, 74, 1) |
+---------------------------+
|                         1 |
+---------------------------+
1 row in set (0.00 sec)


 -- 返回列表中的最大值
 mysql> SELECT GREATEST(13, 14, 521, 74, 1);
+------------------------------+
| GREATEST(13, 14, 521, 74, 1) |
+------------------------------+
|                          521 |
+------------------------------+
1 row in set (0.00 sec)

3. 日期函数

函数名 描述 实例
NOW() 和 SYSDATE() 返回系统的当前日期和时间 SELECT NOW(); 或 SELECT SYSDATE();
CURDATE() 返回当前日期 SELECT CURDATE();
CURTIME() 返回当前系统时间 SELECT CURTIME();
YEAR(d) 返回d的中的年份 SELECT YEAR(NOW());
MONTH(d) 返回d的中的月份 SELECT MONTH(NOW());
DAY(d) 返回d中的日 SELECT DAY(NOW());

示例:

-- 返回系统的当前时间: 年-月-日 时:分:秒 
mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2021-02-12 09:47:12 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT SYSDATE(); 
+---------------------+
| SYSDATE()           |
+---------------------+
| 2021-02-12 09:47:22 |
+---------------------+
1 row in set (0.00 sec)
 
-- 返回系统当前日期: 年-月-日
mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2021-02-12 |
+------------+
1 row in set (0.00 sec)

-- 返回系统当前时间: 时:分:秒
mysql> SELECT CURTIME(); 
+-----------+
| CURTIME() |
+-----------+
| 09:47:54  |
+-----------+
1 row in set (0.00 sec)

-- 返回当前日期中的年份
mysql> SELECT YEAR(NOW()); 
+-------------+
| YEAR(NOW()) |
+-------------+
|        2021 |
+-------------+
1 row in set (0.00 sec)

mysql> 

-- 返回当前日期中的月份
mysql> SELECT MONTH(NOW()); 
+--------------+
| MONTH(NOW()) |
+--------------+
|            2 |
+--------------+
1 row in set (0.00 sec)

-- 返回当前日期中的日
mysql> SELECT DAY(NOW()); 
+------------+
| DAY(NOW()) |
+------------+
|         12 |
+------------+
1 row in set (0.01 sec)

4. 高级函数

函数名 描述 实例
CURRENT_USER() 返回当前用户 SELECT CURRENT_USER();
IFNULL(v1,v2) 如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。 SELECT IFNULL(null,'Hello Word')
ISNULL(expression) 判断表达式是否为 NULL SELECT ISNULL(NULL);

示例:

-- 返回当前用户
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

-- 如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。
mysql> SELECT IFNULL(null,'Hello Word');
+---------------------------+
| IFNULL(null,'Hello Word') |
+---------------------------+
| Hello Word                |
+---------------------------+
1 row in set (0.00 sec)

-- 判断表达式是否为 NULL
mysql> SELECT ISNULL(NULL);
+--------------+
| ISNULL(NULL) |
+--------------+
|            1 |
+--------------+
1 row in set (0.00 sec)

 

上一篇:从ajax获取的数据无法通过Jquery选择器来调用事件


下一篇:mariadb数据库用户管理(创建、赋权、)