欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL学习笔记(4)

程序员文章站 2022-05-03 18:34:24
...
  • 日期函数

USE test;
SHOW TABLES;
SELECT NOW();  #获取当前时间,包括年月日时分秒(结果:2020-05-15 14:50:20)
SELECT CURRENT_TIME();  #获取当前时间,只有时分秒(结果:14:54:22)
SELECT CURRENT_DATE();  #获取当前时间,只有年月日(结果:2020-05-15)

#只获取entry_time的年份
SELECT employee_id,employee_name,YEAR(entry_time) FROM employee;

#只获取entry_time的月份
SELECT employee_id,employee_name,MONTH(entry_time) FROM employee;

MySQL学习笔记(4)
MySQL学习笔记(4)

  • 日期转换

  • 格式符:
格式符 功能
%Y 四位的年份
%y 两位的年份
%m 月份(01,02,…,11,12)
%c 月份(1,2,…,11,12)
%d 日(01,02,…,)
%H 小时(24小时制)
%h 小时(12小时制)
%i 分钟(00,01,…,59)
%s 秒(00,01,…,59)

1.STR_TO_DATE:
按照指定的日期格式将字符串日期转为对应的日期格式

SELECT STR_TO_DATE('2020-5-15','%Y-%c-%d') AS output;

STR_TO_DATE函数中,字符串日期的格式必须与第二个参数给出的日期格式相匹配。

2.DATE_FORMAT:
将date类型的日期转为任意格式的字符串类型,前后格式不必相互匹配。

SELECT 
	*,DATE_FORMAT(entry_time,"%y年%m月%d日") 
AS 
	入职日期
FROM
	employee;

MySQL学习笔记(4)

  • IF函数

#若expr1为ture,则返回expr2的值,否则返回expr3的值
IF(expr1,expr2,expr3)
SELECT *,IF(bonus_rate IS NULL,"无","有") AS 奖金 FROM employee;

MySQL学习笔记(4)

  • CASE函数

CASE case_value
	WHEN when_value THEN
		statement_list
	ELSE
		statement_list
END CASE;

类似java和c中的switch-case结构

switch(表达式)
{
	case 常量表达式1:语句1
	case 常量表达式2:语句2
	……
	case 常量表达式n:语句n
	default:语句n+1
}

在MySQL中,case_value等同于c中switch_case结构的表达式,when_value等同于常量表达式,statement_list等同于语句,else等同于default。

SELECT
	employee_id,employee_name,branch_company,salary AS 原始工资,department,
CASE department
	WHEN "R&D" THEN
		salary*1.2
	WHEN "Personnel" THEN
		salary*1.1
	ELSE
		salary
END AS 调整工资
FROM 
	employee;

MySQL学习笔记(4)

相关标签: MySQL学习笔记