Sql server 如何在SQL中转换字段以显示日期和时间

Sql server 如何在SQL中转换字段以显示日期和时间,sql-server,tsql,Sql Server,Tsql,我有这样一个专栏: Jan 8 2013 2:47PM 01/08/2013 2:47 PM select CONVERT(varchar(10), CAST('Jan 8 2013 2:47PM' AS DATETIME), 101) + ' ' + RIGHT(CONVERT(VARCHAR, 'Jan 8 2013 2:47PM', 100), 7) 但我想转换并展示如下内容: Jan 8 2013 2:47PM 01/08/2013 2:47 PM select

我有这样一个专栏:

Jan  8 2013  2:47PM
01/08/2013 2:47 PM
select CONVERT(varchar(10), CAST('Jan  8 2013  2:47PM' AS DATETIME), 101) + ' ' + RIGHT(CONVERT(VARCHAR, 'Jan  8 2013  2:47PM', 100), 7)
但我想转换并展示如下内容:

Jan  8 2013  2:47PM
01/08/2013 2:47 PM
select CONVERT(varchar(10), CAST('Jan  8 2013  2:47PM' AS DATETIME), 101) + ' ' + RIGHT(CONVERT(VARCHAR, 'Jan  8 2013  2:47PM', 100), 7)
我尝试过类似的方法,但没有显示时间:

select convert (date, Date,101)as MyDate

您可以尝试以下方法:-

   Convert(datetime, '01/08/2013', 103)

SQL Server不提供使用单个CONVERT语句执行此操作的方法,但您可以使用以下方法来实现此目标:

SELECT CONVERT(VARCHAR, date, 101) + RIGHT(CONVERT(VARCHAR, date, 100), 8)

如果原始字段是varchar:可以执行以下操作:

Jan  8 2013  2:47PM
01/08/2013 2:47 PM
select CONVERT(varchar(10), CAST('Jan  8 2013  2:47PM' AS DATETIME), 101) + ' ' + RIGHT(CONVERT(VARCHAR, 'Jan  8 2013  2:47PM', 100), 7)

只需将字符串替换为您的字段。

您的原始字段是什么类型的?请不要忘记将“日期”替换为变量名,我忘了在末尾加上“AS MyDate”(抱歉)。