gpt4 book ai didi

sql-server - 使用两个变量更新列

转载 作者:行者123 更新时间:2023-12-02 02:34:08 24 4
gpt4 key购买 nike

我的代码是

DECLARE @nextYear Integer = 0;
select @nextYear = DATEPART(yy,getdate())+1

DECLARE @nextMonth DATETIME = GETDATE();
DECLARE @mon integer = 0;
SELECT @mon = MONTH(EOMONTH ( @nextMonth, 1 ))

update Mytable set
month_of_usage = '@mon/@nextYear' where id = 1

month_of_usage 的数据类型为 varchar。我需要将使用月份设置为 11/2021。该脚本旨在自动填充下个月的数据。

最佳答案

'@mon/@nextYear' 表示文字字符串值'@mon/@nextYear'不是 @mon 的值后跟 / 后跟 @nextYear 的值。

您需要连接这些值:

UPDATE MyTable
SET month_of_usage = CONCAT(RIGHT(CONCAT('00',@mon),2),'/',@nextYear)
WHERE id = 1;

我还使用 RIGHT 创建一个始终具有相同格式 MM/yyyy 的值,否则您会得到类似 '1/2020 的值''10/2020'

当然,这看起来像是在尝试表示日期,而 varchar 是完全错误的数据类型。例如,根据您的数据,01/2020 早于 12/1999。如果需要存储日期相关数据,请使用日期和时间数据类型;有 6 个可供选择,至少其中一个是合适的。

关于sql-server - 使用两个变量更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64569757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com