在SQL中从行中省略某些字符

问题描述 投票:0回答:1

我有一个列,其中有序列号,但其中一些序列号附加了不需要的字符:----。

8009914407
MCO
8558201722
US2
US3
MCO
7272950703
US2
MCO
NULL
8558201722
7272505721_R2C
8002094684
8558088363_AAC
NULL
US2

这些都是SQL表中一个列的一些条目。

我想省略所有的字符,包括和下划线之后的字符。例如,这些值会变成这样:------。

8558088363_AAC = 8558088363。

7272505721_R2C = 7272505721

剩下的行保持原样。

mysql sql rows data-cleaning
1个回答
0
投票

您可以使用 substring_index():

select substring_index(serial_number, '_', 1)

这里 是一个db<>提琴。

在SQL Server中,代码是。

select left(serial_number, charindex('_', serial_number + '_') - 1)
© www.soinside.com 2019 - 2024. All rights reserved.