如何在BQ列中删除前缀

发布于 2025-02-12 02:25:23 字数 625 浏览 3 评论 0原文

我需要从BQ中特定列中的数据中删除前缀0。应该如何完成?使用substr函数?

示例:

ID
012345
0012345
00012345

,输出应没有零,因此应该像:

ID
12345
12345
12345

在上述所有列出的情况下。

我知道如何添加一个前缀:

UPDATE
  table.name
SET
 id = CAST(CONCAT('99999', CAST(id AS STRING)) AS INTEGER)
WHERE
  code = 'US' and cast(id as string)

I need to remove a prefix 0 from the data in specific column in BQ. How it should be done? Using substr function?

Example:

id
012345
0012345
00012345

and the output should be without zeros, so should be like:

id
12345
12345
12345

in all listed cases above.

I know how to add a prefix:

UPDATE
  table.name
SET
 id = CAST(CONCAT('99999', CAST(id AS STRING)) AS INTEGER)
WHERE
  code = 'US' and cast(id as string)

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

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

发布评论

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

评论(4

掐死时间 2025-02-19 02:25:24

使用 ltrim

SELECT LTRIM(id, '0') id 
  FROM UNNEST(['012345', '0012345', '00012345']) id

输出将为:

Using LTRIM,

SELECT LTRIM(id, '0') id 
  FROM UNNEST(['012345', '0012345', '00012345']) id

Output will be:

enter image description here

枕梦 2025-02-19 02:25:24

如果将字符串投放到整数,则将删除零。然后,为了恢复字符串,足以抛弃到字符串。

UPDATE table.name
SET id = CAST(CAST(id AS INTEGER) AS STRING)
WHERE code = 'US'

它对您有用吗?

If you cast your string to integer, you'll remove the zeroes. Then in order to get back your string, it's sufficient to cast back to string.

UPDATE table.name
SET id = CAST(CAST(id AS INTEGER) AS STRING)
WHERE code = 'US'

Does it work for you?

感情废物 2025-02-19 02:25:24

以下查询应起作用

SELECT REPLACE(LTRIM(REPLACE('00012345', '0', ' ')),' ', '0');
SELECT REPLACE(LTRIM(REPLACE('0012345', '0', ' ')),' ', '0');

The below query should work

SELECT REPLACE(LTRIM(REPLACE('00012345', '0', ' ')),' ', '0');
SELECT REPLACE(LTRIM(REPLACE('0012345', '0', ' ')),' ', '0');
¢好甜 2025-02-19 02:25:24

我已经使用过正则:

set id, REGEXP_REPLACE(id, r"^[0]+(.*)", "\\1")
from  table.name 
where id like '0%'

I've used regex:

set id, REGEXP_REPLACE(id, r"^[0]+(.*)", "\\1")
from  table.name 
where id like '0%'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文