【问题标题】:conversion of decimal formatted date into date in sql在sql中将十进制格式的日期转换为日期
【发布时间】:2018-05-17 13:28:09
【问题描述】:

我想在sql中将十进制格式的日期转换为普通的日期格式。 以下是示例 - 我有十进制格式的日期,如 '1512137620000' ,我想将其转换为正常的标准格式 MM/DD/YYYY。 非常感谢您的帮助。

【问题讨论】:

  • 对于以上十进制值,您需要什么 o/p,即1512137620000

标签: sql sql-server sql-server-2008 datetime sql-server-2012


【解决方案1】:

根据你的基准日期是什么,以及你的十进制数字代表什么(毫秒、秒),你可以这样做:

SELECT DATEADD(MILLISECOND, 1512137620000, '19000101')

使用给定的十进制数,此语句将产生算术溢出(DATEADD 的第二个参数是整数);我会将十进制数除以 1.000 并尝试

SELECT DATEADD(SECOND, 1512137620, '19000101')

这导致 1947-12-02 14:13:40.000 所以我怀疑您的基准日期可能是 19700101,那么结果将是 2017-12-01 14:13:40.000。

然后用于转换为 MM/DD/YYYY:

SELECT CONVERT(varchar(10), DATEADD(SECOND, 1512137620, '19700101'), 103)

【讨论】:

  • 1,512,137,620,000 对于 dateadd(毫秒)来说太大了
猜你喜欢
  • 2015-02-28
  • 2018-03-10
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 2018-02-12
  • 2017-07-15
  • 2013-10-14
  • 2015-02-09
相关资源
最近更新 更多