首页 > 解决方案 > 如何在 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

标签: sqlsql-server

解决方案


105代码中的数字是错误的样式编号。它适用于意大利dd-mm-yyyy价值观(注意-vs /)。您需要阅读CONVERT() 函数文档并找到与您的输入匹配的样式编号。我可以为您执行此操作,但既然我已经为您指出了查看的位置,那么您自己执行此操作是一种很好的做法。


推荐阅读