使用Access代码在SQL Server中更新查询

时间:2017-08-19 18:18:51

标签: sql-server ms-access format sql-server-2016-express

执行此操作的相应SQL Server代码是什么?这是用Access编写的。

UPDATE TableDB SET accountcode = format(val(accountCode),'000.000');

列" accountCode"是一种文本格式。目前,有些是xx.x,xxx,x.xxx等。我希望所有值都遵循 xxx.xxx 格式,在正确的位置使用零。例如,45.3将是045.300,62.04将是062.040等

由于

1 个答案:

答案 0 :(得分:1)

假设所有accountcode值都符合您的示例数据格式,您应该能够使用此查询更新值:

WITH with_zero_padded AS (
    SELECT
          accountcode
        , '000' + accountcode + '000' AS zero_padded_accountcode
    FROM dbo.TableDB
)
UPDATE with_zero_padded
SET accountcode = LEFT(STUFF(zero_padded_accountcode, 1, CHARINDEX('.', zero_padded_accountcode)-4, ''), 7)
FROM with_zero_padded;