gpt4 book ai didi

sql-server - MS SQL 服务器的日期/时间值字符串表示的独立格式?

转载 作者:行者123 更新时间:2023-12-03 02:34:23 26 4
gpt4 key购买 nike

我有一个关于 MS SQL Server 字符串到日期时间隐式转换的问题。

具体来说,我能否确定插入到日期时间列中的“yyyy-mm-dd hh:mm:ss”(例如“2011-04-28 13:01:45”)格式的字符串将无论服务器上使用什么区域或语言设置,总是自动转换为日期时间类型?

如果没有,是否存在这样一种独立的日期时间字符串格式?

它是否取决于 MSSQL 服务器版本以及如何取决于?

提前谢谢

最佳答案

没有。

如果您使用的是日期时间列(而不是 2008 年引入的新类型),则安全格式包括日期和时间组件之间的字母 T,例如'2011-04-28T13:01:45'

对于不明确的日期(其中日期 <= 12),SQL Server 可能会混淆日期和月份:

set language british
select MONTH(CONVERT(datetime,'2011-04-05 13:01:45'))

----
5

set language british
select MONTH(CONVERT(datetime,'2011-04-05T13:01:45'))

----
4

但是,更一般地说,您应该找到一种方法来避免首先将日期时间值视为字符串,例如如果您从其他(非 SQL)代码传递此值,则使用数据访问库(例如 ADO.Net)中可用的任何工具将该值作为日期时间值传递 - 让该库处理任何必要的翻译。

关于sql-server - MS SQL 服务器的日期/时间值字符串表示的独立格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5815954/

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