帮忙么网 > MySQL > 当前页面

SQL基础知识

2025-01-13 NEW个对象

1、UNION

求并集

案例:两个集合合并

SELECT employee_id ,salary AS bonus
FROM Employees
WHERE employee_id%2!=0 AND name NOT LIKE ('M%')

UNION 

SELECT employee_id ,salary*0 AS bonus
FROM Employees
WHERE employee_id%2=0 OR name LIKE ('M%')
ORDER BY employee_id;

2、case when (条件)then (值)

SELECT employee_id,
(CASE WHEN MOD(employee_id,2)!=0 AND LEFT(name,1)!='M' THEN salary
     WHEN MOD(employee_id,2)=0 OR LEFT(name,1)='M' THEN 0
END) bonus
FROM Employees
ORDER BY employee_id

3、IF( expr1 , expr2 , expr3 )

如果expr1为true,返回expr2,否则返回expr3

SELECT employee_id,
IF(MOD(employee_id,2)!=0 AND LEFT(name,1)!='M',salary,0) bonus
FROM Employees
ORDER BY employee_id

4、sql常见函数


用到过if、ifnull、datediff,ABS。

时间函数:

DATE_SUB(date, INTERVAL expr unit) 
DATE_ADD(date, INTERVAL expr unit) 

date的参数可以是:DATE、DATETIME 和 TIMESTAMP,不能是时间戳,但是可以通过FROM_UNIXTIME转换为TIMESTAMP

DATE:存储年月日,格式:YYYY-MM-DD,比如:'2025-01-17',
DATETIME:存储年月日时分秒,比如:'2025-01-17 14:30:00',格式YYYY-MM-DD HH:MM:SS

TIMESTAMP:与DATETIME,也是存储年月日时分秒,格式YYYY-MM-DD HH:MM:SS,比如'2025-01-17 14:30:00',但是会自动切换时区


DATE_FORMAT(data,format)

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');


DATE_FORMAT 函数的第一个参数可以是以下三种类型:


1、日期/时间类型:如果传入的是 DATE、DATETIME 或 TIMESTAMP 类型的字段或值,DATE_FORMAT 会将其格式化为指定的字符串形式。


2、字符串类型:如果传入的是一个符合日期/时间格式的字符串(例如 '2025-01-17' 或 '2025-01-17 14:30:00'),DATE_FORMAT 会尝试将这个字符串转换为日期/时间,然后再格式化。


3、时间戳(Unix 时间戳):如果传入的是一个整数类型的 Unix 时间戳,MySQL 会自动将其转换为日期/时间类型,然后应用格式化。


round函数


ROUND(number, decimal_places)

ROUND 函数用于对数值进行四舍五入操作。它的用法非常灵活,可以对数字保留指定的小数位数,也可以对整数位进行舍入。

相关文章

  • 索引下推

    索引下推的下推其实就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。

    NEW个对象 2024-12-17

  • 聚簇索引与非聚簇索引的区别

    聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。 非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置。

    NEW个对象 2024-12-25

  • 数据库死锁问题排查过程会遇到哪些问题?

    数据库死锁问题排查过程会遇到哪些问题? 1、锁的是那个表 一般会有报警信息,根据报警信息可以获取到sql语句,然后根据sql获取锁的那张表。

    NEW个对象 2024-10-24

推荐文章