我試圖通過減去另外兩個列 NameVer 和 Ver 來創建一個新列。基本上輸出的值應該是 Name - Ver,例如 Adam Philips-10021 - 10021 = Adam Philips(我還需要洗掉 Ver 之前的最后一個破折號)。
我有一個下表:
| 名稱版本 | 版本 |
|---|---|
| Cristine Pharrel 博士 HF-10021 | 10021 |
| Mary-2Jane Jean-CF2331 | CF2331 |
| Michael 1772 d'Oro-1027763 | 1027763 |
我想要實作的是這張表:
| 名稱版本 | 版本 | 姓名 |
|---|---|---|
| Cristine Pharrel 博士 HF-10021 | 10021 | Cristine Pharrel HF 博士 |
| Mary-2Jane Jean-CF2331 | CF2331 | Mary-2Jane Jean |
| Michael 1772 d'Oro-1027763 | 1027763 | 邁克爾 1772 年金獎 |
正如你所看到的,字串由各種字符組成,有時破折號不僅出現在 Ver 部分之前,而且出現在中間的某個地方。此外,我發現兩列中的一些字串在可見字符之外都有空格。
我嘗試使用以下代碼:
SELECT SUBSTRING(NameVer, 1, LEN(Ver) 1)
from myTable
不幸的是,而不是例如Dr. Cristine Pharrel HF 我得到Dr. Cr
uj5u.com熱心網友回復:
您可以使用以下方法進行操作:
SELECT SUBSTRING(NameVer,1, LEN(NameVer) - LEN(Ver) -1)
FROM myTable
uj5u.com熱心網友回復:
我們可以REPLACE在這里嘗試使用一個普通的:
SELECT
NameVer,
Ver,
REPLACE(NameVer, '-' Ver, '') AS Name
FROM myTable;

演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/354047.html
上一篇:程序或函式“uspExportGetMailinfoTest”需要未提供的引數“@CUSTOMER”。我錯過了什么?
下一篇:根據列選擇對應的列
