-4
價值如何從A列中得到查詢的SQL代碼和子這樣的代碼跟如何從字符串
格式:
[very long name | code | subcode]
的例子
[Pear | S01 | 10]
[Pineapple | S01 | 9]
PS:沒有方括號,但管道分隔符是真實的
價值如何從A列中得到查詢的SQL代碼和子這樣的代碼跟如何從字符串
格式:
[very long name | code | subcode]
的例子
[Pear | S01 | 10]
[Pineapple | S01 | 9]
PS:沒有方括號,但管道分隔符是真實的
試試這個; DEMO - UPDATED WITH A TABLE
--declare @s varchar(50)='[Pineapple | S01 | 9]'
select substring(yourColumn,ind1 + 1,ind2-(ind1 +1)) code,
substring(yourColumn,ind2 + 1,len(yourColumn)-(ind2 + 1)) subcode
FROM (
SELECT yourColumn, charindex('|',yourColumn,1) ind1,
charindex('|',yourColumn,charindex('|',yourColumn,1)+1) ind2
FROM yourTable
) X
假設你的代碼總是三個字母,你可以使用一些內置的功能來幫助你:
WITH Data(Sample) AS
(
SELECT 'Pear | S01 | 10' UNION
SELECT 'Pineapple | S01 | 9'
)
SELECT
SUBSTRING([Sample], CHARINDEX(' | ', [Sample], 1) + 3, 3) AS Code,
REVERSE(SUBSTRING(REVERSE([Sample]), 1,
CHARINDEX(' | ', REVERSE([Sample]), 1) - 1)) AS SubCode
FROM
data
是'[梨| S01 | 10]「字面意思是一個領域,你需要解析它嗎? – LittleBobbyTables
是的它在一個領域,我需要解析它 –
@YanSusanto:該行實際上是否包含方括號和管道分隔符,或者你只是添加他們的插圖? –