• SQL 时间戳转DateTime类型


      最近在工作中通过接口获取时间字段为时间戳的值,直接入库后再页面查询时间格式时候需要通过SQL语句将时间戳格式装换为时间格式进行比较,首先我们需要知道时间戳格式是怎么产生的,: Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中

      时间类型转换为时间戳会有10位和13位两种区别,10 位的时间戳的源时间格式为 yyyy-MM-dd hh:MM:ss .000  毫秒位数为三个零,而13位的时间戳格式是包含了毫秒数的。

      10位的时间戳格式在SQL中转换为普通时间格式的方法:DATEADD(s, Unix timestamp+8*3600, '1970-01-01 00:00:00')

      13 位的时间戳转换为普通时间格式不能直接使用这种方式,所以在这里我的做法是截取前边10位为无毫秒的时间格式的时间戳,所以写法:

        DATEADD(S,CAST( SUBSTRING(CreateTime,1,10) AS INT ) + 8 * 3600,'1970-01-01 00:00:00 ')  

      在SQL中普通时间格式转为时间戳格式:DATEDIFF(s, '1970-01-01 00:00:00', time)  

    在不同的语言中实现的方式不同,参见 http://tool.chinaz.com/Tools/unixtime.aspx    

  • 相关阅读:
    python socket 网络编程
    Python中的MySQL接口:PyMySQL & MySQLdb
    Docker Day1 & 2
    Java数据结构与算法(5):AVL树
    Solr集群环境搭建
    Java数据结构与算法(4):二叉查找树
    Solr单机环境搭建及部署
    Java数据结构与算法(3):队列
    Java数据结构与算法(2):栈
    Java数据结构与算法(1):线性表
  • 原文地址:https://www.cnblogs.com/a164266729/p/5433793.html
Copyright © 2020-2023  润新知