用年份和月份更新第一个和最后两个字符
Update the first and last 2 charactors with year and month
我有一个值,我需要将第一个字符更改为年份,将最后两个字符更改为月份。 AttributeValue 字段值为 17WEBD01。我需要用当前年份的最后两位数更新 17,我需要用当前月份 02 更新 01。
我试过这个语句,但在 Left 语句中出现错误
UPDATE [EC_StoreAttributes]
SET Left(AttributeValue, 2) = SELECT RIGHT(CONVERT(VARCHAR(10),GETDATE(),101),2),
Right(AttributeValue, 2) = SELECT LEFT(CONVERT(VARCHAR(10),GETDATE(),101),2)
WHERE AttributeType = 'ECSRCCODE' and StoreRecordId = '1'
通过转换和组合字符串一次性更新一列。它们是 integer
输出,因此您必须将它们转换为 varchar (2)
。字符串的第一部分替换年份(前 2 个值)和 replace
再次用于替换字符串的右侧部分
UPDATE [EC_StoreAttributes]
SET AttributeValue = REPLACE(CAST((
SELECT RIGHT(CONVERT(VARCHAR(10), GETDATE(), 101), 2)
) AS VARCHAR(2)) + REPLACE(AttributeValue, left(AttributeValue, 2), ''), RIGHT(CAST((
SELECT RIGHT(CONVERT(VARCHAR(10), GETDATE(), 101), 2)
) AS VARCHAR(2)) + REPLACE(AttributeValue, left(AttributeValue, 2), ''), 2), '') + REPLACE(RIGHT(CAST((
SELECT RIGHT(CONVERT(VARCHAR(10), GETDATE(), 101), 2)
) AS VARCHAR(2)) + REPLACE(AttributeValue, left(AttributeValue, 2), ''), 2), RIGHT(attributevalue, 2), CAST((
SELECT LEFT(CONVERT(VARCHAR(10), GETDATE(), 101), 2)
) AS VARCHAR(2)))
WHERE AttributeType = 'ECSRCCODE'
AND StoreRecordId = '1'
我有一个值,我需要将第一个字符更改为年份,将最后两个字符更改为月份。 AttributeValue 字段值为 17WEBD01。我需要用当前年份的最后两位数更新 17,我需要用当前月份 02 更新 01。
我试过这个语句,但在 Left 语句中出现错误
UPDATE [EC_StoreAttributes]
SET Left(AttributeValue, 2) = SELECT RIGHT(CONVERT(VARCHAR(10),GETDATE(),101),2),
Right(AttributeValue, 2) = SELECT LEFT(CONVERT(VARCHAR(10),GETDATE(),101),2)
WHERE AttributeType = 'ECSRCCODE' and StoreRecordId = '1'
通过转换和组合字符串一次性更新一列。它们是 integer
输出,因此您必须将它们转换为 varchar (2)
。字符串的第一部分替换年份(前 2 个值)和 replace
再次用于替换字符串的右侧部分
UPDATE [EC_StoreAttributes]
SET AttributeValue = REPLACE(CAST((
SELECT RIGHT(CONVERT(VARCHAR(10), GETDATE(), 101), 2)
) AS VARCHAR(2)) + REPLACE(AttributeValue, left(AttributeValue, 2), ''), RIGHT(CAST((
SELECT RIGHT(CONVERT(VARCHAR(10), GETDATE(), 101), 2)
) AS VARCHAR(2)) + REPLACE(AttributeValue, left(AttributeValue, 2), ''), 2), '') + REPLACE(RIGHT(CAST((
SELECT RIGHT(CONVERT(VARCHAR(10), GETDATE(), 101), 2)
) AS VARCHAR(2)) + REPLACE(AttributeValue, left(AttributeValue, 2), ''), 2), RIGHT(attributevalue, 2), CAST((
SELECT LEFT(CONVERT(VARCHAR(10), GETDATE(), 101), 2)
) AS VARCHAR(2)))
WHERE AttributeType = 'ECSRCCODE'
AND StoreRecordId = '1'