SQL 通过减去另外两个字符串列创建新的字符串列
SQL create new string column by substracting two other string columns
我正在尝试通过减去另外两列 NameVer 和 Ver 来创建一个新列。基本上,输出的值应该是 Name - Ver,例如Adam Philips-10021 - 10021 = Adam Philips(我还需要 Ver 删除前的最后一个破折号)。
我有一个关注 table:
NameVer
Ver
Dr. Cristine Pharrel HF-10021
10021
Mary-2Jane Jean-CF2331
CF2331
Michael 1772 d'Oro-1027763
1027763
我想要实现的是这个table:
NameVer
Ver
Name
Dr. Cristine Pharrel HF-10021
10021
Dr. Cristine Pharrel HF
Mary-2Jane Jean-CF2331
CF2331
Mary-2Jane Jean
Michael 1772 d'Oro-1027763
1027763
Michael 1772 d'Oro
大家看到的字符串由各种字符组成,有时破折号不仅出现在Ver部分之前,而且出现在中间的某个地方。此外,我发现两列中的某些字符串在可见字符之外还有空格。
我试过使用以下代码:
SELECT SUBSTRING(NameVer, 1, LEN(Ver)+1)
from myTable
不幸的是,我得到的不是 Dr. Cristine Pharrel HF
Dr. Cr
我们可以在这里尝试使用普通 REPLACE
:
SELECT
NameVer,
Ver,
REPLACE(NameVer, '-' + Ver, '') AS Name
FROM myTable;
您可以使用以下方法完成:
SELECT SUBSTRING(NameVer,1, LEN(NameVer) - LEN(Ver) -1)
FROM myTable
我正在尝试通过减去另外两列 NameVer 和 Ver 来创建一个新列。基本上,输出的值应该是 Name - Ver,例如Adam Philips-10021 - 10021 = Adam Philips(我还需要 Ver 删除前的最后一个破折号)。
我有一个关注 table:
NameVer | Ver |
---|---|
Dr. Cristine Pharrel HF-10021 | 10021 |
Mary-2Jane Jean-CF2331 | CF2331 |
Michael 1772 d'Oro-1027763 | 1027763 |
我想要实现的是这个table:
NameVer | Ver | Name |
---|---|---|
Dr. Cristine Pharrel HF-10021 | 10021 | Dr. Cristine Pharrel HF |
Mary-2Jane Jean-CF2331 | CF2331 | Mary-2Jane Jean |
Michael 1772 d'Oro-1027763 | 1027763 | Michael 1772 d'Oro |
大家看到的字符串由各种字符组成,有时破折号不仅出现在Ver部分之前,而且出现在中间的某个地方。此外,我发现两列中的某些字符串在可见字符之外还有空格。
我试过使用以下代码:
SELECT SUBSTRING(NameVer, 1, LEN(Ver)+1)
from myTable
不幸的是,我得到的不是 Dr. Cristine Pharrel HF
Dr. Cr
我们可以在这里尝试使用普通 REPLACE
:
SELECT
NameVer,
Ver,
REPLACE(NameVer, '-' + Ver, '') AS Name
FROM myTable;
您可以使用以下方法完成:
SELECT SUBSTRING(NameVer,1, LEN(NameVer) - LEN(Ver) -1)
FROM myTable