2019.07.02 - SQL 日期时间换算 与 UTC时区转换,即dateadd(), date_add(), date()使用

本文主要是介绍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()使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/555570

相关文章

SQL Server 中的表进行行转列场景示例

《SQLServer中的表进行行转列场景示例》本文详细介绍了SQLServer行转列(Pivot)的三种常用写法,包括固定列名、条件聚合和动态列名,文章还提供了实际示例、动态列数处理、性能优化建议... 目录一、常见场景示例二、写法 1:PIVOT(固定列名)三、写法 2:条件聚合(CASE WHEN)四、

C#中checked关键字的使用小结

《C#中checked关键字的使用小结》本文主要介绍了C#中checked关键字的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录✅ 为什么需要checked? 问题:整数溢出是“静默China编程”的(默认)checked的三种用

C#中预处理器指令的使用小结

《C#中预处理器指令的使用小结》本文主要介绍了C#中预处理器指令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 第 1 名:#if/#else/#elif/#endif✅用途:条件编译(绝对最常用!) 典型场景: 示例

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

MySQL 筛选条件放 ON后 vs 放 WHERE 后的区别解析

《MySQL筛选条件放ON后vs放WHERE后的区别解析》文章解释了在MySQL中,将筛选条件放在ON和WHERE中的区别,文章通过几个场景说明了ON和WHERE的区别,并总结了ON用于关... 今天我们来讲讲数据库筛选条件放 ON 后和放 WHERE 后的区别。ON 决定如何 "连接" 表,WHERE

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

MySQL日志UndoLog的作用

《MySQL日志UndoLog的作用》UndoLog是InnoDB用于事务回滚和MVCC的重要机制,本文主要介绍了MySQL日志UndoLog的作用,文中介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、Undo Log 的作用二、Undo Log 的分类三、Undo Log 的存储四、Undo