我需要从字符串中获取特定部分。如何从SQL中的字符串中获取特定部分
在以下示例字段POSITION
包含A-
块时,块M-0000000359
和最后块的/
的权利。
我现在需要的是/
右边的全部数字,如果有一个,
只有完整的数字到逗号。
所以如果POSITION
下一输出将A-M-0000000359/10
或A-M-0000000359/10,10
那么现在我需要的结果是在这两种情况下10
。
SQL
SELECT POSITION
,SUBSTRING((REPLACE(POSITION, SUBSTRING((POSITION), 1, CHARINDEX('/', (POSITION), 1)), '')), 1, CHARINDEX('/', (POSITION), 0)) AS TRIM_A
,SUBSTRING((REPLACE(POSITION, SUBSTRING((POSITION), 1, CHARINDEX('/', (POSITION), 1)), '')), 0, CHARINDEX(',', ((REPLACE(POSITION, SUBSTRING((POSITION), 1, CHARINDEX('/', (POSITION), 1)), ''))), 1)) AS TRIM_B
,*
FROM ORDER
输出
POSITION |TRIM_A|TRIM_B
---------------------|------|------|
A-M-0000000359/1 |1
---------------------|------|------|
A-M-0000000359/1,10 |1,10 1
你的榜样显示你想要的固定位置。这是真的吗? –
这个例子(SQL&Output)是我现在被卡住的地方。你看到的输出有效,如果这确实回答你的问题。 – oldsport
那么你现在的代码有什么问题? – scsimon