1. 程式人生 > 其它 >【資料分析師_02_SQL+MySQL】015_MySQL資料處理函式

【資料分析師_02_SQL+MySQL】015_MySQL資料處理函式

技術標籤:資料分析師資料分析mysql

MySQL資料處理函式

資料處理函式

1 UPPER / LOWER(大小寫轉換)

select vend_name, UPPER(vend_name) as vend_name_upper from vendors;

select vend_name, LOWER(vend_name) as vend_name_lower from vendors;

2 LTRIM / RTRIM(去左/右側空格)

select vend_name, LTRIM(vend_name) from vendors;

select vend_name, RTRIM(vend_name) from vendors;

3 SUBSTRING(字串截位)

select vend_name, substr(vend_name, 1, 5) from vendors;		# 這裡和python不一樣,從1開始

select vend_name, substr(vend_name, -5, 5) from vendors;	# 選取最後5個字元

4 SOUNDEX(英文發音匹配,沒啥用)

比如資料庫中有一個叫 ‘Y Lee’ 的人,可以在SOUNDEX函式裡用 ‘Y Li’ 來找。

select * from customers where
SOUNDEX(cust_contact) = SOUNDEX('Y Li'
) ;

5 日期和時間的處理

5.1 曲線救國

select * from orders where order_date > '2005-09-01'
and order_date < '2005-09-02' ;

5.2 DATE函式

select * from orders where Date(order_date)
between '2005-09-01' and '2005-09-30' ;		# 找到9月所有的訂單

select * from orders where Date(order_date) = '2005-09-01' ;	# 找到2005-09-01所有的訂單

5.3 YEAR,MONTH,DAY函式(取出年/月/日資料)

select * from orders where
YEAR(order_date) = 2005			# 注意這裡是int型別不是str
and MONTH(order_date) = 9
and DAY(order_date) = 1 ;		# 找到2005-09-01所有的訂單

5.4 CURRENT_DATE,CURRENT_TIME函式(當前)

select current_date() ;
select current_time() ;		# 不加括號也可以

5.5 ADDDATE,ADDTIME函式(後推日期/時間)

SELECT ADDDATE('2020-02-02', 5) ;

在這裡插入圖片描述

5.6 DATEDIFF函式(計算日期差)

select DATEDIFF('2020-02-01', '2020-01-01') ;		# 遲的日期在前

6 MOD,POW函式(取餘/幾次方)

select MOD(5, 2) ;
select POW(5, 2) ;		# 5的平方

7 CEIL,FLOOR,ROUND函式(約等於合集)

select CEIL(1.1) ;
select FLOOR(1.9) ;
select ROUND(1.1) ;

8 RAND函式(隨機)

select RAND() ;