gpt4 book ai didi

SQL Server 将十进制解析为 DateTime

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:27 24 4
gpt4 key购买 nike

我在 SQL Server 2017 中有一个表。在此表中,日期以下一种格式存储为小数:

20180717164540.2200000

YYYYMMDDhhmiss.nnnnnnn

4 位数字表示年份,2 位数字表示日历月,2 位数字表示一个月中的一天,2 位数字表示 UTC 中基于 24 小时制的小时,2 位数字表示一小时中的一分钟,2一分钟的秒数和小数秒数。

我的目标是将这种格式转换为 DateTime 并将其存储在数据库的另一个表中。所以我的问题是如何在 SQL Server 中将这种格式转换为 DateTime 格式。据我所知,您不能像在 Oracle 中那样创建自定义日期格式。

我尝试了很多次 FORMAT AND CONVERT MSSQL 函数,但它不会工作。

SELECT FORMAT(CONVERT(NVARCHAR(22), DECIMALCOLUMN), 'YYYYMMDDhhmiss') FROM SOURCE-TABLE;

感谢您的帮助!

最佳答案

您的 FORMAT 创意非常接近。 FORMAT 为您提供 NVARCHAR 输出,您可以将其显式转换为 DATETIME2(7)(保持您的精度级别)。

DECLARE @dateWannaBe DECIMAL(21,7) = 20180717164540.2200000;

SELECT CAST(FORMAT(@dateWannaBe,'####-##-## ##:##:##.#######', 'en-US') AS DATETIME2(7)) AS ActualDateTime2;

+-----------------------------+
| ActualDateTime2 |
+-----------------------------+
| 2018-07-17 16:45:40.2200000 |
+-----------------------------+

编辑:根据@JeroenMostert 的评论将文化参数添加到 FORMAT 函数。

关于SQL Server 将十进制解析为 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51402684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com