3

次の形式で表示する必要がある日時列があります。

YYYY/MM/DD 00:00:00:000

ではCONVERT、適切なスタイルが見つかりません。

以下のような説明の一部としてテキスト/を含む列と比較する必要があるため、形式の は非常に重要です。VARCHARYYYY/MM/DD 00:00

方法/スタイルを見つけることができれば、SUBSTRING 関数を使用して以下の値と比較できます。

Diary item added for : 2013/08/20 14:12

私は見てきました:

http://databases.aspfaq.com/database/what-are-the-valid-styles-for-converting-datetime-to-string.html

しかし、 / を含む十分なスタイルが見つかりません。- のみ。

4

3 に答える 3

5

比較したいものに最もよく似たスタイルを使用して、 を に置き換えることが できREPLACEます。-\

SELECT REPLACE(CONVERT(<yourstyle>),'-','/');

Cudo を @bluefeet に編集

SELECT REPLACE(CONVERT(varchar(23), yourdate, 121),'-','/');

Technetから: キャストと変換

21 または 121 (2) ODBC 標準 (ミリ秒単位) yyyy-mm-dd hh:mi:ss.mmm(24h)

于 2013-08-28T10:22:43.777 に答える
3

2つを比較する前に、両方の日付を任意の形式に変換できます。これらのいずれかを使用するだけです。これを実行すると、それらから選択できます。比較する前に両方の日付を変換してください

Select    
    convert(varchar, GetDate(), 100) as '100 Conversion',    
    convert(varchar, GetDate(), 101) as '101 Conversion',    
    convert(varchar, GetDate(), 102) as '102 Conversion',    
    convert(varchar, GetDate(), 103) as '103 Conversion',    
    convert(varchar, GetDate(), 104) as '104 Conversion',    
    convert(varchar, GetDate(), 105) as '105 Conversion',    
    convert(varchar, GetDate(), 106) as '106 Conversion',    
    convert(varchar, GetDate(), 107) as '107 Conversion',    
    convert(varchar, GetDate(), 108) as '108 Conversion',    
    convert(varchar, GetDate(), 109) as '109 Conversion',    
    convert(varchar, GetDate(), 110) as '110 Conversion',    
    convert(varchar, GetDate(), 111) as '111 Conversion',    
    convert(varchar, GetDate(), 112) as '112 Conversion',    
    convert(varchar, GetDate(), 113) as '113 Conversion',    
    convert(varchar, GetDate(), 114) as '114 Conversion',    
    convert(varchar, GetDate(), 120) as '120 Conversion',    
    convert(varchar, GetDate(), 121) as '121 Conversion',    
    convert(varchar, GetDate(), 126) as '126 Conversion',    
    convert(varchar, GetDate(), 130) as '130 Conversion',    
    convert(varchar, GetDate(), 131) as '131 Conversion'

またはこれを使用

select REPLACE(convert(varchar, GetDate(), 121),'-','/')
于 2013-08-28T10:21:42.207 に答える
2

なんで逆にできないの。日付を varchar に変換する代わりに、varchar 列を日付に変換する

于 2013-08-28T10:22:50.290 に答える