如何在 MySQL 中更新具有不同值的多行?

发布于 2024-08-25 08:58:44 字数 188 浏览 11 评论 0原文

我有一个带有“A”列的表。 有些行的“A”列有 14 位数字,有些行只有 12 位。我需要将所有条目转换为 14 位数字。数据类型是 varchar

我想一次更新所有行(一个查询),在第一个数字之前添加零,因此像 012345678910 这样的条目将变成 00012345678910。

是否可以在一个查询中完成此操作? 谢谢

I have a table with a column 'A'.
Some rows have 14 digits for the column 'A' and some have only 12. I need to transform all the entries to 14 digits. The datatype is varchar

I would like to update all the rows at once (one query), adding zeros before the first digit, so an entry like 012345678910 would become 00012345678910.

Is it possible to do it in one single query?
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

过期情话 2024-09-01 08:58:45

这应该做你想要的:

UPDATE your_table SET column_name = LPAD(column_name, 14, "0")
WHERE LENGTH(column_name) < 14

This should do what you want:

UPDATE your_table SET column_name = LPAD(column_name, 14, "0")
WHERE LENGTH(column_name) < 14
多情癖 2024-09-01 08:58:45

只需更新长度为 12 的所有行,并在前面添加“00”

UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12

just update all rows which length is 12, and prepend '00'

UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12
沧笙踏歌 2024-09-01 08:58:45
update table1 set columnA=concat('00',columnA) where char_length(columnA)=12
update table1 set columnA=concat('00',columnA) where char_length(columnA)=12
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文