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

Omit certain characters from Rows in SQL

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

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

这些是 SQL Table 中某列的一些条目。

我想省略包括下划线在内的所有字符。例如,这些值将变为:-

8558088363_AAC = 8558088363

7272505721_R2C = 7272505721

并保持其余行不变。

您使用 substring_index():

select substring_index(serial_number, '_', 1)

Here 是一个 db<>fiddle.

在SQL服务器中,代码为:

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