select start_date,year(start_date) as date_year from db1.str_date;
select start_date,month(start_date) as date_month from db1.str_date;
select start_date,day(start_date) as date_year from db1.str_date;
quarter
weekday
select start_date,quarter(start_date) as date_quarter from db1.str_date;
select start_date,weekday(start_date) as date_weekday from db1.str_date;
hour
minute
second
select '2017-04-22 15:47:06',hour('2017-04-22 15:47:06') as date_hour;
2017-04-22 15:47:06 15
select '2017-04-22 15:47:06',minute('2017-04-22 15:47:06') as date_minute;
2017-04-22 15:47:06 47
select '2017-04-22 15:47:06',second('2017-04-22 15:47:06') as date_second;
2017-04-22 15:47:06 6
第二部分:
字符串格式化函数:
LENGTH()-- 计算字符长度
RTRIM() -- 去空格
LTRIM() -- 去左空格
TRIM() -- 去两边的空格
UPPER() -- 字母大写
LOWER() -- 字符小写
SELECT LENGTH('SPACE ') as len1,LENGTH(RTRIM('SPACE ')) as len2;
len1 len2
8 5
SELECT LENGTH(' SPACE') as len1,LENGTH(LTRIM('SPACE ')) as len2;
len1 len2
8 5
SELECT LENGTH(' SPACE ') as len1,LENGTH(TRIM(' SPACE ')) as len2;
len1 len2
11 5
SELECT LOWER('LOWER') as lows;
lower
SELECT UPPER('upper') as ups;
UPPER
字符串操纵函数:
concate() -- 合并与拼接字符串
CONCAT_WS() -- 按照某种固定分隔符分割字符串
substring_index() -- 按照固定模式分割字符串
SELECT CONCAT('2017','12','10') as date_now;
20171210
SELECT CONCAT_WS('-','2017','12','10') as date_now;
2017-12-10
SELECT CONCAT_WS('/','2017','12','10') as date_now;
2017/12/10
SELECT start_date,substring_index(start_date,'-',1) as date_year from db1.str_date; -- 截取年份
SELECT start_date,substring_index(substring_index(start_date,'-',1),'-',1) as date_month from db1.str_date; -- 截取月份
SELECT start_date,substring_index(start_date,'-',-1) as date_year from db1.str_date; -- 截取天
使用substring_index函数处理带有字母的薪资区间字段:
SELECT slary,substring_index(substring_index(slary,'-',1),'k',1) as slary_low from db1.str_date; -- 截取薪资下限
SELECT slary,substring_index(substring_index(slary,'-',-1),'k',1) as slary_low from db1.str_date; -- 截取薪资上限