帮忙么网 > 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 函数用于对数值进行四舍五入操作。它的用法非常灵活,可以对数字保留指定的小数位数,也可以对整数位进行舍入。

相关文章

推荐文章