3

当我尝试使用查询从 SQL Server 数据库中获取金额和日期值时

select Amount, RunDate
  from zComm
 WHERE ID = '1339812'

它不返回任何数据。但是当我将日期转换为字符串时,它的工作查询是

select Amount, convert(varchar, RunDate) as RunDate
  from zComm
 WHERE ID = '1339812'

现在我想Amount按降序显示RunDate,我使用了查询

select Amount, convert(varchar, RunDate) as RunDate 
  from zComm 
 WHERE ID = '1339812'
 order by RunDate;

但是我得到的结果不是按降序排列的。我附上了结果查询的屏幕截图。

4

2 回答 2

1

正在对日期的字符串表示进行排序,试试这个。

select Amount, convert(varchar, RunDate) as RunDateVarchar
  from zComm 
 WHERE ID='1339812'
 order by RunDate;
于 2012-11-14T09:17:42.953 回答
1

尝试使用DESC关键字。所以你的查询会变成

SELECT Amount, convert(varchar, RunDate) as RunDateChar  
FROM zComm  
WHERE ID = N'1339812'
ORDER BY RunDate DESC;

它很可能是按CHAR表示而不是按日期排序的。

我希望这有帮助。

于 2012-11-14T09:20:42.783 回答