Ada*_*mes 5 sql sql-server datetimeoffset
我试图获取一个字符串,确定它是否是日期(日期时间或时间),然后使用 SQL Server 转换格式常量将其转换为相应的数据类型。但是,我在 127 "yyyy-mm-ddThh:mi:ss.mmmZ" 方面遇到了很多麻烦,因为 ISDATE 对于以这种方式格式化的字符串返回 false。
SELECT ISDATE('2018-07-21 15:14:00.5206914 -06:00') -- returns false
Run Code Online (Sandbox Code Playgroud)
这是为什么?是否有任何我不知道的内置 SQL Server 函数可以测试这是否是有效的日期字符串?
该isdate函数接受某些日期(取决于日期格式和语言),但从不接受datetimeoffset. 偏移量是-06:00示例末尾的部分。
您可以使用try_convert样式 120(yyyy-mm-dd hh:mi:ss(24h)ODBC 规范)来代替:
SELECT TRY_CONVERT(datetimeoffset, '2018-07-21 15:14:00.5206914 -06:00', 120);
-->
2018-07-21 15:14:00.5206914 -06:00
Run Code Online (Sandbox Code Playgroud)
如果传递的表达式不是有效的,该try_convert函数将返回。nulldatetimeoffset
| 归档时间: |
|
| 查看次数: |
671 次 |
| 最近记录: |