如何防止 Invoke-SQLCMD 修剪前导零

How To Prevent Invoke-SQLCMD from trimming Leading Zero's

在 powershell 中我有一个脚本,每次运行它都需要将数据库中的数字递增 1。一旦达到 9999,它就会重置回 0001。 我在 powershell 中解决了这个功能我的问题是 Invoke-SQLCMD 不断去除任何前导 0

所以如果我想将数据库值更新为 0001 它只会将其更新为 1

有没有办法让 SQLCMD 保持前导 0?

Invoke-Sqlcmd -ServerInstance $dataSource -Database $database -Username $user -password $pass -Query "UPDATE DBO.TABLE_NAME SET sequence_no = $newFileNum"

invoke SQLCMD 默认执行此操作。 一种方法是,当您 运行 查询 SQL 以获取其中的值时,您可以使用 .ToString("0000") 将 0 放回原处,或者您可以将其用作 SQL查询。