【问题标题】:Converting SQL system datetime to non-standard format将 SQL 系统日期时间转换为非标准格式
【发布时间】:2012-02-03 04:18:56
【问题描述】:

全部,

我一直在绞尽脑汁想弄清楚这一点。我需要将 SQL 时间戳转换为我无法找到一种简单的转换方法的非标准格式。

我需要转换:

1900-01-01 00:00:00.000

1900 年 1 月 1 日凌晨 12:00

我已经尝试了几个 datepart 与铸造的组合,但我运气不佳。我想我需要转换几次才能得到我想要的,但我想我会先问专家。

谢谢!

【问题讨论】:

  • “SQL 时间戳”还是日期时间?不应使用时间戳来表示日期时间...
  • 是存储为字符串还是日期时间字段?
  • 对不起,语义。它存储为日期时间字段。

标签: sql-server-2008 datetime datepart


【解决方案1】:

您只是想将日期格式化为字符串吗?如果是这样,请查看此页面:

http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspx

页面底部的内容与您要查找的内容一样:

SELECT CONVERT(VARCHAR(20), SYSDATETIME(), 22)  -->   06/08/11 1:30:45 PM

【讨论】:

  • 这种转换有点不同,因为它只有 2 位数的年份,它还包括秒。我认为没有直接转换,这就是为什么我想我必须经历几次转换。仍然不确定最方便的方法是什么。
【解决方案2】:

我最终和一位同事找到了想要的结果。

这就是它最终的样子,以防万一其他人需要它。

SELECT CONVERT(VARCHAR(10), EDITDATE, 101) + ' ' + RIGHT(CONVERT(VARCHAR, EDITDATE,100),7) AS ConvertedDate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 2014-08-24
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多