本文主要是介绍2019.07.02 - SQL 日期时间换算 与 UTC时区转换,即dateadd(), date_add(), date()使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 使用场景
- MySQL
- DateTime
- TimeStamp
- 存为BigData格式的时间戳(python.time.time())
- SQL Server
- TimeStamp
使用场景
日期换算往往用于UTC时间+时区
- UTC时间
MySQL
DateTime
- mysql.DATE_ADD() 作用同于 sql.DATEADD()
- 减去8小时的日期为
2019-06-12
SELECT create_time, DATE_ADD(create_time, INTERVAL -8 HOUR)
FROM anchor_training_log
WHERE date(DATE_ADD(create_time, INTERVAL -8 HOUR)) = "2019-06-12";
- W3School参考:MySQL DATE_ADD() 函数
TimeStamp
用法同上
存为BigData格式的时间戳(python.time.time())
- FROM_UNIXTIME(秒时间戳, 格式):转换timestamp为datetime
- FLOOR():向下取整
SELECT
ctime/1000, FLOOR(ctime/1000), FLOOR(ctime/1000 + 60*60*24),
FROM_UNIXTIME(FLOOR(ctime/1000),'%Y-%m-%d %H:%i:%s') as datetime_format,
Date(FROM_UNIXTIME(FLOOR(ctime/1000),'%Y-%m-%d %H:%i:%s')) as date_part
FROM add_user_recharge_log
WHERE
Date(FROM_UNIXTIME(FLOOR(ctime/1000 + 60*60*24),'%Y-%m-%d %H:%i:%s')) = "2019-06-05"
;
- 把datetime转换成timestamp
SELECT
now(),
unix_timestamp(now())
FROM add_user_recharge_log
limit 10
;
- FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- sql 时间转换问题 from_unixtime() UNIX_TIMESTAMP()
SQL Server
TimeStamp
-
DATEADD(hour,2, creat_time)
:增加两小时 -
DATE(creat_time)
:获取日期"2019-06-28"
-
Amazon RedShift示例
select
e_target_jid,
dateadd(hour,2,event_time)
from app300049.event_p2p_call
where date(dateadd(hour,2,event_time))='2019-06-28'
limit 10;
-
注意:通过
psycopg2
获取后,timestamp字段很可能变成datetime.datetime类型。 -
W3School参考:SQL Server DATEADD() 函数
这篇关于2019.07.02 - SQL 日期时间换算 与 UTC时区转换,即dateadd(), date_add(), date()使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!