MySQL學習筆記(4)

  • 日期函數

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;

在這裏插入圖片描述
在這裏插入圖片描述

  • 日期轉換

  • 格式符:
格式符 功能
%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;

在這裏插入圖片描述

  • IF函數

#若expr1爲ture,則返回expr2的值,否則返回expr3的值
IF(expr1,expr2,expr3)
SELECT *,IF(bonus_rate IS NULL,"無","有") AS 獎金 FROM employee;

在這裏插入圖片描述

  • 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;

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章