将 yyyy-mm-dd-hh.mm.ss.ms 字符串转换为日期时间

Posted

技术标签:

【中文标题】将 yyyy-mm-dd-hh.mm.ss.ms 字符串转换为日期时间【英文标题】:Convert yyyy-mm-dd-hh.mm.ss.ms String to Datetime 【发布时间】:2020-12-18 03:48:43 【问题描述】:

我使用 SQL Server 并且有这种格式的字符串:

2017-05-29-16.57.51.910000

在我看来,我必须得到像2020-12-17 11:44:25.620 这样的格式。

怎么做?

对于那些询问的人来说很重要,没有错字,并且从我从源数据中获得的数据中纯粹复制粘贴

【问题讨论】:

您的第一个日期时间是拼写错误,应该看起来像“2017-05-29 16:57:51.910000”,还是字面上的格式为 2017-05-29-16.57.51.910000?专门询问日和小时之间的连字符以及小时和分钟之后的句点。 通过修复架构来解决一次问题。如果没有这一点,您需要用空格替换日期和小时之间的奇怪连字符,然后使用适当的样式对其进行转换。但是让消费者处理格式并将您的字符串简单地转换为实际的 datetime2 数据类型(使用类似的逻辑)要好得多。 完全没有,没有错字,纯粹是从我得到的数据中复制粘贴。这就是我从源获得的数据。 【参考方案1】:

您似乎想要从 datetime2 格式转换为 datetime 格式:

SELECT CAST(your_date AS datetime) FROM [your_table]

【讨论】:

仅供参考,Datetime2 就像:2017-05-29 16:57:51.9100000 而我从源获得的格式根本不一样.. 它:2017-05-29-16.57.51.910000 【参考方案2】:

我用一些糟糕的命令解决了它,只是为了让它工作

CONVERT(datetimeoffset, SWITCHOFFSET(CONVERT(DATETIMEOFFSET, convert(varchar, LEFT([UPDATE_DATE_TIME],10)+' '+REPLACE(left(Right([UPDATE_DATE_TIME],15),8),'.',':')+'.000')), '+07:00'))

【讨论】:

以上是关于将 yyyy-mm-dd-hh.mm.ss.ms 字符串转换为日期时间的主要内容,如果未能解决你的问题,请参考以下文章

如何将thinkcmf导入eclipse

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?