変換しようとしている列がいくつかありますが、ここでいくつかの問題が発生しています。
問題は、月または日が 1 桁になる可能性があること0
です。
変換を行う前に最初にビューで試していますが、3 つの列を取得してこのような文字列を取得することさえできません20090517
。
何か案は?CAST
私のためにそれをしてRIGHT
いないようです。
変換しようとしている列がいくつかありますが、ここでいくつかの問題が発生しています。
問題は、月または日が 1 桁になる可能性があること0
です。
変換を行う前に最初にビューで試していますが、3 つの列を取得してこのような文字列を取得することさえできません20090517
。
何か案は?CAST
私のためにそれをしてRIGHT
いないようです。
DATEADD を使用できます
DECLARE @YEAR int
DECLARE @MONTH int
DECLARE @DAY int
SET @YEAR = 2013
SET @MONTH = 5
SET @DAY = 20
SELECT CONVERT(DATE,
DATEADD(yy, @YEAR -1900, DATEADD(mm, @MONTH -1 ,DATEADD(dd, @DAY -1, 0))))
結果は2013-05-20
SELECT コマンドの変数をテーブル内の変数に置き換えることができます。
あるいは
DECLARE @YEAR int
DECLARE @MONTH int
DECLARE @DAY int
SET @YEAR = 2013
SET @MONTH = 5
SET @DAY = 20
SELECT RIGHT('0000'+ CONVERT(VARCHAR,@Year),4) + RIGHT('00'+ CONVERT(VARCHAR,@Month),2) + RIGHT('00'+ CONVERT(VARCHAR,@Day),2)
与える
20130520