0

日時形式のデータ列があります。日付は次のように表示されます。

 2013-09-07 00:00:00.000; 
 2012-12-09 00:00:00.000; 
 2013-08-19 00:00:00.000;

デートはこうしてほしい

 26-JUN-13; 
 08-FEB-12; 
 28-NOV-12;

次のクエリを使用しました。

select  [003 AccptReg].[dbo].[SysDB].[statCngDate_sys] from [003 AccptReg].[dbo].[SysDB] 
        where [statCngDate_sys]= convert(datetime,left([statCngDate_sys],10),103)

しかし、次のエラーが表示されます。

varchar データ型を datetime データ型に変換すると、範囲外の値になりました。

私は何を間違っていますか?

また、日付の範囲を検索するには、日付列を varchar 形式ではなく datetime 形式にしておく必要がありますか?

4

3 に答える 3

1

これを試して

SELECT CONVERT(varchar(50),(CONVERT(DATETIME,'2013-09-07 00:00:00.000')),106)

列は同じ形式でなければならないため、日時に変換する必要はありません

于 2013-09-11T09:28:56.867 に答える
0

次のクエリを使用します。

SELECT UPPER(REPLACE(CONVERT(CHAR(9), GETDATE(), 6), ' ', '-'))

これで問題が解決するはずです。

于 2013-09-11T09:58:52.423 に答える