结合两列的sql,其中一列是datetime

结合两列的sql,其中一列是datetime,sql,sql-server-2008,datetime,Sql,Sql Server 2008,Datetime,我有以下sql代码(ms sql server 2008) 根据旧的分析数据 按formdate订购 从字符串转换日期和/或时间时,出现以下错误转换失败 AnalysisNo是一个varchar(10) 描述是一个varchar(500) formdate是日期时间 (不是我的桌子,是一张旧桌子) 任何想法,因为在谷歌上找不到答案。试试这个: select (analysisno + ' - ' + description + ' - ' + convert(varchar(100),form

我有以下sql代码(ms sql server 2008)

根据旧的分析数据 按formdate订购

从字符串转换日期和/或时间时,出现以下错误转换失败

AnalysisNo是一个varchar(10) 描述是一个varchar(500) formdate是日期时间 (不是我的桌子,是一张旧桌子)

任何想法,因为在谷歌上找不到答案。

试试这个:

select (analysisno + ' - ' + description + ' - ' 
+ convert(varchar(100),formdate)) as columnA
from Old_Analysis_Data order by formdate

使用“串联前转换”将时间转换为字符串:

SELECT ( analysisno + ' ' + '-' + ' ' + description + ' ' + '-' + ' ' 
     + CONVERT(VARCHAR(20), formdate, 100) ) AS columnA 
FROM 
     Old_Analysis_Data 
ORDER BY 
     formdate
在本例中,100是一种将日期戳格式设置为mon-dd-yyy-hh:mim(或PM)的样式


请参见

首先将其转换为字符串,而不是直接连接
formdate

convert(varchar(15), formdate, 103)
这将为您提供以下格式

dd/MM/yyyy

您很可能需要将日期转换为带有to_CHAR函数的varchar,具体取决于您使用的SQL的风格。查询没有错误,但日期格式必须为2013年4月25日PrefrablySpot on cheers,我将100改为105以获得所需
dd/MM/yyyy