lhl
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
  • python

  • leetcode

  • 软件测试

  • Git

  • linux

  • 产品

  • MySql

    • SQL
    • 函数
      • 字符串函数
      • 数值函数
      • 日期函数
      • 流程函数
    • 约束
    • 多表查询
  • docker

  • MySql
2024-05-03
目录

函数

# 字符串函数

CONCAT() - 连接两个或多个字符串。 LOWER() - 将字符串转换为小写。 UPPER() - 将字符串转换为大写。 TRIM() - 去除字符串两端的空格。 SUBSTRING() - 提取字符串的子串。 LPAD(str, n, pad) - 左填充 LPAD(str, n, pad) - 右填充

-- concat
select concat('hello', ' mysql') as '打招呼';
/**
+-------------+
| 打招呼      |
+-------------+
| hello mysql |
+-------------+

*/
-- lower
select lower('HEllo') as '小写';
/**
+--------+
| 小写   |
+--------+
| hello  |
+--------+

*/
-- upper
 select upper('HEllo') as '大写';
/**
+--------+
| 大写   |
+--------+
| HELLO  |
+--------+

 */
-- lpad, 左填充
select lpad('01',5, 'x') as '左填充';
/**
+-----------+
| 左填充    |
+-----------+
| xxx01     |
+-----------+

 */


-- rpad, 右填充
select rpad('01',5, 'x') as '右填充';
/**
+-----------+
| 右填充    |
+-----------+
| 01xxx     |
+-----------+

 */

-- 去掉空格 
select trim(' xx ') as '去掉空格';
/**
+--------------+
| 去掉空格     |
+--------------+
| xx           |
+--------------+

 */

--  substring
select substring('hello mysql', 1, 5) as '截取字符串';
/**
+-----------------+
| 截取字符串      |
+-----------------+
| hello           |
+-----------------+

 */

# 数值函数

  1. ABS() - 返回数的绝对值。
  2. CEIL() 或 CEILING() - 向上取整。
  3. FLOOR() - 向下取整。
  4. ROUND() - 四舍五入到指定的小数位数。
  5. RAND() - 返回 0~1的随机数
select ceil(1.2) as '向上取整';

/**
+--------------+
| 向上取整     |
+--------------+
|            2 |
+--------------+

 */

 select floor(1.2) as '向下取整';
 /**
+--------------+
| 向下取整     |
+--------------+
|            1 |
+--------------+

  */


 select mod(2,4) as 'x/y';
 /**
+------+
| x/y  |
+------+
|    2 |
+------+

  */

 select rand() as '随机数';
 /**
+----------------------+
| 随机数               |
+----------------------+
| 0.025024456926644276 |
+----------------------+

 */
 select round(4.223567, 3) as '四舍五入,保留几位小数';
   /**
+--------------------+
| 保留几位小数       |
+--------------------+
|              4.224 |
+--------------------+

  */

# 日期函数

  1. NOW() - 返回当前的日期和时间。
  2. CURDATE() - 返回当前日期。
  3. CURTIME() - 返回当前时间。
  4. DATE_ADD(date, interval expr type)- 返回一个日期/时间值 加上一个时间间隔 expr 后的时间值
  5. DATEDIFF() - 返回两个日期之间的天数差异。
  6. DAY(), MONTH(), YEAR() - 分别返回日期的日、月、年部分。

select curdate();
/**
+------------+
| curdate()  |
+------------+
| 2024-02-03 |
+------------+

*/

select curtime();
/**
+-----------+
| curtime() |
+-----------+
| 22:32:18  |
+-----------+
 */

select year(now());
/**
+-------------+
| year(now()) |
+-------------+
|        2024 |
+-------------+
 */
select month(now());
/**
+--------------+
| month(now()) |
+--------------+
|            2 |
+--------------+
 */
select day(now());
/**
+------------+
| day(now()) |
+------------+
|          3 |
+------------+
 */

select date_add(now(), INTERVAL 12 MONTH);

 /**
 +------------------------------------+
| date_add(now(), INTERVAL 12 MONTH) |
+------------------------------------+
| 2025-02-03 22:38:34                |
+------------------------------------+
 */

select datediff('2024-02-03', '2024-01-03');
 /**
+--------------------------------------+
| datediff('2024-02-03', '2024-01-03') |
+--------------------------------------+
|                                   31 |
+--------------------------------------+
 */

# 流程函数

  1. if(value, t,f),
  2. ifnull(value1, value2),
  3. case when then else end,
select if(true, 'ok', 'not ok');
 /**
+--------------------------+
| if(true, 'ok', 'not ok') |
+--------------------------+
| ok                       |
+--------------------------+
 */
select if(false, 'ok', 'not ok');
 /**
+---------------------------+
| if(false, 'ok', 'not ok') |
+---------------------------+
| not ok                    |
+---------------------------+
*/


select ifnull('ok', 'default')    -- ok
select ifnull('', 'default')    -- ''
select ifnull('null', 'default')    -- 'default'

select 
    name, 
    (case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end) as '工作地址'
from emp;
/**
+--------------+--------------+
| name         | 工作地址     |
+--------------+--------------+
| 柳岩666      | 一线城市     |
| 张无忌       | 一线城市     |
| 韦一笑       | 一线城市     |
| 赵敏         | 一线城市     |
| 小昭         | 一线城市     |
| 杨逍         | 一线城市     |
| 范瑶         | 一线城市     |
| 黛绮丝       | 二线城市     |
| 范凉凉       | 一线城市     |
| 陈友谅       | 一线城市     |
| 张士诚       | 二线城市     |
| 常遇春       | 一线城市     |
| 张三丰       | 二线城市     |
| 灭绝         | 二线城市     |
| 胡青牛       | 二线城市     |
| 周芷若222    | 一线城市     |
+--------------+--------------+
16 rows in set (0.00 sec)
 */
#MySql#函数
SQL
约束

← SQL 约束→

最近更新
01
lhl learn notes
02
filter
06-09
03
decorator
06-09
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式