1

現在の日付に 1 日を追加し、yyyymmdd 形式で出力する必要があります。コードは、SQL サーバー上のストアド プロシージャに記述する必要があります。

現在、私のコードは次のとおりです。

 DECLARE @dat DATE

    select @dat = dateadd(DD, 1, getdate())
    SELECT @dat =LEFT(CONVERT(VARCHAR(8), @dat, 112),10) 

ただし、SQLテーブルへの出力がyyyy-mm-ddの形式であるため、何か間違っているようです。ハイフンを取り除く必要があります。

何か提案はありますか?前もって感謝します。

4

4 に答える 4

4

問題は、それを日付オブジェクトに割り当て直していることです。それを varchar に割り当てる必要があります。

SQL Server 2005 で次のことを行いました。

DECLARE @dat DATETIME
DECLARE @string varchar(8)
SET @dat = GetUtcDate()

    select @dat = dateadd(DD, 1, getdate())

    SELECT @string =CONVERT(VARCHAR(8), @dat, 112) 
PRINT @string
于 2013-05-08T14:08:01.347 に答える
1

@dat の宣言を STRING に変更します

于 2013-05-08T14:07:53.953 に答える
0
select @dat = dateadd(DD, 1, getdate())
DECLARE @datCus varchar(8)
select @datCus=LEFT(CONVERT(VARCHAR(8), @dat, 112),10) 

問題は、挿入ステートメントの値に @dat を割り当てたことです。ただし、変換部分を処理する varchar 変数を使用すると、問題が解決されます (この場合は @datCus)。

于 2013-05-08T14:08:16.227 に答える
0

これを試してみてください -

DECLARE @date VARCHAR(8)
SELECT @date = CONVERT(VARCHAR(8), DATEADD(DAY, 1, GETDATE()), 112) 

SELECT @date
于 2013-05-08T14:08:46.943 に答える