-2

执行此操作的相应 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,等等

谢谢

4

1 回答 1

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;
于 2017-08-19T19:02:05.537 回答