文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SQL处理时间戳时如何解决时区问题实例详解

2024-04-02 19:55

关注

1.问题及解决办法

(1)问题:由于存储的时间戳是时间戳为GMT(格林尼治标准时间),以秒储存,但由于需要获取的是北京时间,存在时区问题。如何获取北京时区的时间日期?

(2)通过上网查找了解决办法,有一堆办法,有说连接时设置地区,都很复杂,本人没成功。尝试成功过的方法如下:

①方法一:在查询前设置时区,输入“set time_zone='+08:00';”

但这个方法存在弊端,不是非常通用,比如需要用python调用数据库查询时会报错。

②方法二:直接用公式将北京时区的时差相加,公式为:

(timestamp+8*3600)

说明:timestamp为时间戳,可为数字串也可为存在时间戳的字段。3600为一小时的秒数。该方法可以非常通用。

2.时区差相加公式的实例

(1)将时间戳转为小时(0-24小时)。其中timestamp为时间戳。

查询语句
select [column(s),]
(timestamp+8*3600)%86400/3600 as hour
[from table]

说明:时间戳是以秒8*3600表示北京时区的时差,86400=24*3600表示1天的秒数,“(timestamp+8*3600)%86400”中“%”取余数,余数则为当天时间点的秒数。3600是一小时的秒数,用当天时间点的秒数除以3600表示小时。

补充:SQL 关于时区的处理案例

设置时间偏移:SWITCHOFFSET(StopageStartTime,'+08:00')

时间转换:CONVERT(VARCHAR(19),SWITCHOFFSET(StopageStartTime,'+08:00'),121)

 SELECT CONVERT(VARCHAR(19),SWITCHOFFSET(StopageStartTime,'+08:00'),121) AS StopageStartTime,
        CONVERT(VARCHAR(19),SWITCHOFFSET(StopageEndTime,'+08:00'),121) AS StopageEndTime,StopageType,AccidentReason_Preventive
                            ,EquipmentCode
                            FROM dbo.EquipmentDetection_Item 
                            WHERE  
                             CONVERT(VARCHAR(19),SWITCHOFFSET(StopageStartTime,'+08:00'),121)>=@startTime

总结

到此这篇关于SQL处理时间戳时如何解决时区问题的文章就介绍到这了,更多相关SQL解决时区问题内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯