sql - 如何在 SQL Server 中将 varchar 转换为日期时间格式
问题描述
我正在尝试将varchar
日期值转换为datetime
使用此查询
SELECT
CONVERT(varchar, CONVERT(datetime, [Assigned_DT]), 105) + ' ' +
CONVERT(varchar(8), CONVERT(datetime, [Assigned_DT]), 14)
但是对于这个日期'16/02/2021 1:55 PM',我收到了这个错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围
我怎样才能转换它是有效的 - 日期的格式是 mm/dd/yyyy hh:mm:ss
解决方案
105
代码中的数字是错误的样式编号。它适用于意大利dd-mm-yyyy
价值观(注意-
vs /
)。您需要阅读CONVERT() 函数文档并找到与您的输入匹配的样式编号。我可以为您执行此操作,但既然我已经为您指出了查看的位置,那么您自己执行此操作是一种很好的做法。
推荐阅读
- responsive-design - HTML 无法在移动浏览器上正确显示
- python - 使用命令提及用户
- javascript - 使用其他元素设置元素的填充
- regex - 将 URIPATH 与可选的 URIPARAM 匹配的 Grok 模式
- ruby - 重构一个复杂的日期方法
- php - php file_put_contents 没有写入字节
- angularjs - AngularJS 材质从左到右滑动 CSS3 动画
- rss - 如果 Feed 入站适配器抛出异常,如何动态注销 IntegrationFlowContext 的 IntegrationFlow?
- java - Java:将 HashMap 添加到 Talend 的 ArrayList
- sql - 如果日期没有记录,如何在sql中的日期范围之间生成行?