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

时间:2020-06-01 21:39:40

标签: mysql sql rows data-cleaning

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

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

并保留其余行。

1 个答案:

答案 0 :(得分:0)

您使用substring_index()

select substring_index(serial_number, '_', 1)

Here是db <>小提琴。

在SQL Server中,代码为:

select left(serial_number, charindex('_', serial_number + '_') - 1)