1

私が照会しているデータベースには、ユーザーが Web サイトに登録した日付を含む列を持つユーザー テーブルがあります。

日付は、次のように適切な日付フォーマットなしで varchar 列に入力されます。

Apr 18 2013 12:27PM

SELECT MAX (dateColumn)日付の範囲のほぼ半分の値を取得すると。部分文字列を使用して、年、月、日付の順に取得し、順番に並べることを検討しました。問題は、日付が 0 で始まる日付が次のように 1 文字短縮されることです。

May 1 2013 12:27PM

データベース構造を変更せずに最高の日付を見つける簡単な方法はありますか?

4

3 に答える 3

0

varchar を datetime 形式に変換してみてください。日付を同じ形式で保存する必要があります。varchar を datetime に変換する例です。

Select * from tblName 
    where Convert(datetime, Convert(varchar(12),DOJ,106)) as DOJ >=
          Convert(datetime, Convert(varchar(12),'2013-04-28',106))
于 2013-04-25T10:12:22.217 に答える
0

値が「YYYYMMDD」の形式になるように列をキャストしてから、その列を並べ替えます。

于 2013-04-25T10:10:58.327 に答える