尝试将SQL查询的值分配给变量SET

问题描述 投票:0回答:1

我正在尝试获取格式为yyyymm的日期,然后在某些操作中使用该日期。

declare @currdate datetime
set @currdate = (SELECT CONVERT(nvarchar(6), GETDATE(), 112))

错误:从nvarchar数据类型到datetime数据类型的转换导致值超出范围。

或者如果我在下面使用:

declare @currdate datetime
set @currdate = SELECT FORMAT(GetDate(),'yyyyMM')

我收到与上述相同的错误。

所以我想如果今天的日期是17-05-2020,我希望将202005作为输出,并且希望将该输出存储在某个变量中。

sql sql-server
1个回答
1
投票

然后您已将var声明为日期

或您声明一个varchar

    declare @currdate nvarchar(6)
    set @currdate = (SELECT CONVERT(nvarchar(6), GETDATE(), 112))

或您用作日期

declare @currdate datetime
set @currdate GETDATE(),
© www.soinside.com 2019 - 2024. All rights reserved.