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

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 に答える
1

ソートは日付の文字列表現で行われています。これを試してください。

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