2

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

select (analysisno + ' ' + '-' + ' ' + description + ' ' + '-' + ' ' + formdate) as columnA 

从 Old_Analysis_Data 按格式排序

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

AnalysisNo 是 varchar(10) 描述是 varchar(500) formdate 是日期时间(不是我的表,它是旧表)

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

4

3 回答 3

1

在连接之前使用 Convert 将时间转换为字符串:

SELECT ( analysisno + ' ' + '-' + ' ' + description + ' ' + '-' + ' ' 
     + CONVERT(VARCHAR(20), formdate, 100) ) AS columnA 
FROM 
     Old_Analysis_Data 
ORDER BY 
     formdate

在这种情况下, 100 是将日期戳格式设置为 mon dd yyyy hh:miAM (或 PM)作为示例的样式

http://www.w3schools.com/sql/func_convert.asp

于 2013-04-25T13:02:04.843 回答
0

试试这个:

select (analysisno + ' - ' + description + ' - ' 
+ convert(varchar(100),formdate)) as columnA
from Old_Analysis_Data order by formdate
于 2013-04-25T12:55:01.573 回答
0

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

convert(varchar(15), formdate, 103)

它为您提供以下格式

dd/MM/yyyy
于 2013-04-25T13:02:05.167 回答