sqlstring转为⽇期_数据分析sql从⼊门到精通--sql函数⽤法
前⾯⼏篇⽂章已经接触过⼀系列SQL函数,本⽂重点介绍⽂本和字符串处理函数,⽇期和时间处理函数,数值处理函数,便于⽤户编写sql 处理格式化、过滤和数据。同时注意,虽然每种数据库管理系统都提供各种函数,但是具体实现差异都⽐较⼤,不可移植。我们学习函数,第⼀有可能很多查询不⽤函数⽆法实现,第⼆虽然很多函数不可移植或者通⽤,但是每种数据库系统都提供类似功能的函数。
⼀、⽇期处理函数
⼀般数据库中的⽇期时间类型有date、time、datetime和timestamp,相关函数的主要功能就是处理相关格式转化以及和字符串的转化。
datediff是字符型函数
SELECT NOW(),YEAR(NOW()),MONTH(NOW()),DAY(NOW());
SELECT NOW(),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW());
SELECT DAYNAME('2019-05-03'),MONTHNAME('2019-05-03'),QUARTER('2019-05-03');
DAYOFWEEK(date):返回⽇期date的星期索引(1=星期天,2=星期⼀, …7=星期六)。
SELECT NOW(),DAYOFWEEK(NOW()),DAYOFMONTH(NOW()),DAYOFYEAR(NOW());
DATE_ADD(date,INTERVAL expr type) ,进⾏⽇期增加的操作,可以精确到秒
DATE_SUB(date,INTERVAL expr type) ,进⾏⽇期减少的操作,可以精确到秒
SELECT DATE_SUB(CURDATE(), INTERVAL 31 DAY), CURDATE(),DATE_ADD(CURDATE(),INTERVAL 2 DAY);
SELECT NOW(),DATE_ADD(NOW(), INTERVAL "1:1" HOUR_MINUTE), DATE_ADD(NOW(), INTERVAL "3" HOUR);
SELECT CURTIME(),CURDATE(),NOW();
DATE_FORMAT(date,format)函数⽤于把⽇期转化各种格式,下表是相关格式说明。
SELECT DATE_FORMAT(NOW(),'%m-%d-%Y'),DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p');
str_to_date('2019-10-16 18:30:24','%Y-%m-%d %H:%i:%s')函数类似和dateformat效果。
时间戳timestamp也是sql常⽤的⼀种时间类型。
select from_unixtime(1488160428,'%Y-%m-%d %T'),unix_timestamp(now());
timestampdiff(interval, datetime1,datetime2),返回时间差,结果单位由interval参数给出,interval有second,minute,hour,day,month,year,week,quarter等。
SELECT TIMESTAMPDIFF(HOUR,'2019-10-01','2020-01-13'), DATEDIFF('2019-10-01','2020-01-13');
⼆、字符串处理
拼接字段:CONCAT(str1,str2,...):返回来⾃于参数连结的字符串,可以有多个参数。
SELECT CONCAT(NAME,'(',department,')') FROM student;
SELECT LOWER('TEST'), UPPER('test') FROM student;处理⼤⼩写转化。
注意:sql关键词本⾝⼤⼩写不敏感,也就是selete,from等⼤⼩写不影响。
Length返回字符串长度:
SELECT NAME,LENGTH(NAME),department,LENGTH(department) FROM student;
trim(char from x) 删除⾸部、尾部字符,相应的LTRIM和RTRIM处理⾸部和尾部。
SELECT LTRIM(' student '),TRIM(' student '),RTRIM(student ');
substr(字符串,start [,length]) 取⼦串
SELECT SUBSTR(NAME,1,1),NAME,SUBSTR(department,1,LENGTH(department)/3-1), department FROM student;
replace(x,search_string,replace_string) 字符替换
SELECT REPLACE(department,'系','学院'),department FROM student;
三、数值处理函数
Abs:返回绝对值
Exp:值e的n次⽅,⾃然对数的底
Sqrt:返回⾮负数n的平⽅根
Pow:返回值x的y次幂
Mod或者%:返回N被M除的余数
Ceiling:不⼩于X的最⼩整数值
Round:四舍五⼊的⼀个整数
SELECT ABS(-45),CEILING(1.34),ROUND(5.67);
SELECT POW(3,2),SQRT(4),EXP(2),MOD(5,2);
其他函数还有汇总函数,条件函数,可以参考前⾯⼏篇⽂章。
SQL函数包括⼤量的可⽤函数,包括数学函数、字符串函数、⽇期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数可以简化⽤户的操作,使⽤时可以查询相关资料和⼿册。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。