Bun*_*ion 3 sql sql-server ms-access
嗨,我有一个Access查询(下面),我正在尝试在SQL Server中重新创建:
UPDATE tblProducts SET tblProducts.ProductCode = [tblProducts].[ProductPrefix] &
Format([tblProducts].[ProductID],"00000")
WHERE (((tblProducts.ProductCode) Is Null Or (tblProducts.ProductCode) <>[tblProducts].[ProductPrefix] &
Format([tblProducts].[ProductID],"00000")));
Run Code Online (Sandbox Code Playgroud)
我在使用FORMAT功能时遇到问题.
这是一种进行格式化的方法:
UPDATE tblProducts
SET ProductCode = [ProductPrefix] +
RIGHT('00000' + CAST(COALESCE(ProductId, 0) as VARCHAR(255)), 5)
WHERE ProductCode Is Null OR
ProductCode <> [ProductPrefix] + RIGHT('00000' + CAST(ProductId as VARCHAR(255)), 5);
Run Code Online (Sandbox Code Playgroud)
实际上,为了防止出现问题,我将其称为:
WITH toupdate AS (
SELECT p.*,
([ProductPrefix] +
RIGHT('00000' + CAST(COALESCE(ProductId, 0) as VARCHAR(255)), 5)
) as new_ProductCode
FROM tblProducts p
)
UPDATE toupdate
SET ProductCode = new_ProductCode
WHERE ProductCode Is Null OR
ProductCode <> new_ProductCode;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |