1

我需要将 1 天添加到当前日期并以 yyyymmdd 格式输出。代码需要写在 sql server 上的存储过程中。

目前我的代码如下:

 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 回答