使用SQL连接字符串+;以非常特定的格式显示的日期/时间

使用SQL连接字符串+;以非常特定的格式显示的日期/时间,sql,sql-server,Sql,Sql Server,我有一个字符串,我试图在末尾连接一个日期/时间,日期必须是一个非常特定的格式,以匹配另一个字符串 我有三次约会,像这样: Oct 13 2017 12:00AM Aug 1 2017 12:00AM Aug 1 2017 12:00AM 第一个日期有19个字符,字符之间只有一个空格。第二个和第三个字符有18个字符,字符之间只有一个空格 我试过这个: SELECT CONVERT(VARCHAR(20), INTENDDTE, 100) 这给了我这样的信息: Jun 5 2014 12:00

我有一个字符串,我试图在末尾连接一个日期/时间,日期必须是一个非常特定的格式,以匹配另一个字符串

我有三次约会,像这样:

Oct 13 2017 12:00AM
Aug 1 2017 12:00AM
Aug 1 2017 12:00AM
第一个日期有19个字符,字符之间只有一个空格。第二个和第三个字符有18个字符,字符之间只有一个空格

我试过这个:

SELECT CONVERT(VARCHAR(20), INTENDDTE, 100)
这给了我这样的信息:

Jun  5 2014 12:00AM

在Jun和5之间有两个空格!!我只希望字符之间有一个空格,这样我就可以将它与另一个字符串匹配。我该怎么做?我正在使用SQL Server 2008。

好吧,您可以像这样使用REPLACE

declare @date datetime= GETDATE();
SELECT INTENDDTE= REPLACE(CONVERT(VARCHAR(20), @date, 100),'  ',' ');

不过,我怀疑它对性能是否有好处。

日期不是字符串。请将其存储并作为日期处理。然后只需在应用层格式化。谢谢大家。我最终使用了replace,它工作得很好。我想应该有一个更优雅的解决方案,但我想不是。无论如何,再次谢谢你。