2011-10-24 12 views
3

getdateをYYYYMMDDHHMM形式で取得しようとしています。getdate()から日付形式を抽出する

私はこのようなクエリを書いた:

SELECT CAST(CONVERT(VARCHAR, GETDATE(), 112) AS VARCHAR)+CONVERT(VARCHAR,DATEPART(hh,GETDATE())) 
+CONVERT(VARCHAR,DATEPART(minute,GETDATE())) 

それは私に正しい出力を与えているが、それを行うための簡単な方法はありますか?

+0

いいえ、これは[次のリリース](http://connectsql.blogspot.com/2011/08/sql-server-denali-format-most-wanted.html)までかなりです。 style 121と2のREPLACE呼び出しを使用しない限り。 – gbn

答えて

7

どのくらいこれはですが、「単純」を知ってはいけない:(一度だけ、彼らは別の日から一貫性のない値に評価することができませんでした、それはGETDATEを(参照するため))

SELECT CONVERT(CHAR(8), GETDATE(), 112) 
     + REPLACE(CONVERT(CHAR(5), GETDATE(), 108), ':', '') 
+0

私のために働く。どうもありがとうございます! – peter

1

またはこの:

SELECT REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16),GETDATE(),120),'-',''),' ',''),':','') 
+0

+1複数評価の問題点があります。 –

+0

@MartinSmith GETDATE()はクエリの列ごとに1回しか評価されません。私はその点で間違っていますか? –

+0

@JoeStefanelli - わかりません。私はそれが関数参照ごとに1回あるという意見でした。速いテストをしなくてはなりません! –

関連する問題