sql - 将前导零添加到 varchar 列

Select len(productid),productid,*
 FROM dbo.produts
   where Place = 'KA'
   and len(productid) <> 10
   order by len(productid)

这个查询过滤了需要更新的数据 -- 我需要更新 'productid' 中格式不正确的数据 --(数据应为 10 个字符,采用 4-2-4 格式,在需要的地方以 0 开头)(productid 列是一个 varchar (256) 列) 基本上我需要将前导零添加到具有 where 条件的 varchar 列

|productid| |Correct productid value| |
---------------------------------------
|234-55-43||000234-55-43|

|76-7-89||0000076-7-89|

更新这些记录的可能解决方案是什么?

最佳答案

这个其实很简单:

SELECT productid,
       RIGHT('000000000'+productid,10) CorrectProductid
FROM dbo.YourTable
;

https://stackoverflow.com/questions/43619723/

相关文章:

r - 每种可能组合的 Wilcoxon 秩和检验

java - 如果单例不好!为什么spring bean默认是单调的

persistence - 在 Quartz 调度程序中看到异常导致作业无法运行

r - R中的双重居中

r - 为列名传递变量?

r - 从 R 中的公式中提取模型框架时排除变量

java - 使用 Java 8 Streams 将 Map 的 Map 转换为 Lists

junit4 - Wiremock 模拟返回 HTTP 500

r - 交叉比较相同数据框的列

docker - 在 alpine 容器中使用 confluent-kafka python 客户端