Sql-Server

在下劃線上拆分列

  • September 12, 2020

什麼 SQL 語法會將此列拆分為三個新列(拆分將在下劃線上)?

在此處輸入圖像描述

表中還有其他列,但我想將它們分成三列(基於下劃線)。

我通常對人們說不要用任何分隔符保存數據

CREATE TABLE [test] (JOBNUMBR VARCHAR(15))
GO
INSERT INTO test SELECT '57299_87961_003' UNION SELECT '66515_88567_OOO' UNION SELECT '58OO7_88695_OO1'
GO
SELECT JOBNUMBR
,Reverse(ParseName(Replace(Reverse(JOBNUMBR), '_', '.'), 1)) As [no1]
,Reverse(ParseName(Replace(Reverse(JOBNUMBR), '_', '.'), 2)) As [no2]
,Reverse(ParseName(Replace(Reverse(JOBNUMBR), '_', '.'), 3)) As [no3]
FROM (Select newid() AS [ID], JOBNUMBR from test) As [t]
GO
職位編號 | 沒有 1 | 二號 | 3號
:-------------- | :---- | :---- | :--
57299_87961_003 | 57299 | 87961 | 003
58OO7_88695_OO1 | 58OO7 | 88695 | OO1
66515_88567_OOO | 66515 | 88567 | 噢噢噢

db<>在這裡擺弄

引用自:https://dba.stackexchange.com/questions/275407