我需要從/
或50x50x5
的T-SQL
之間的字符串KWR/50X50X5/1.4301
中提取文本。我試過使用Substing
,但是,不會去找我。 最後,我需要在/
之間添加值(總和值),而不是字符x
(例如,50 + 50 + 5 = 105
),我將非常感謝您的幫助。從字符串中提取文本
2
A
回答
1
嘗試這種情況:
DECLARE @t TABLE (id INT, v VARCHAR(100))
INSERT INTO @t
VALUES (1, 'PWPQ/80X20/1.4301') ,
(2, 'PWO/120/1.4404'),
(3, 'PWOI/120X9X90X80/1.4404')
;WITH cte1 AS(SELECT id, SUBSTRING(v,
CHARINDEX('/', v) + 1,
CHARINDEX('/', v, CHARINDEX('/', v) + 1) - CHARINDEX('/', v) - 1) AS v
FROM @t),
cte2 AS(SELECT id, CAST ('<X>' + REPLACE(v, 'X', '</X><X>') + '</X>' AS XML) AS v FROM cte1)
SELECT id, SUM(Split.a.value('.', 'int')) AS v
FROM cte2 a CROSS APPLY v.nodes ('/X') AS Split(a)
GROUP BY id
輸出:
id v
1 100
2 120
3 299
第一CTE爲/
之間提取值。 將這些值轉換爲xml格式的第二個cte。 最後一條語句是用於將具有分隔符的字符串轉置爲分隔行的標準技巧。
0
相關問題
- 1. 從字符串中提取文本
- 2. Python - 從字符串中提取文本
- 3. Python:從字符串中提取文本
- 4. 從Java中提取文本字符串
- 5. 從文本中提取字符串
- 6. 從字符串中提取文本Java
- 7. 從提取文本或字符串
- 8. 從字符串的PHP文本提取
- 9. 從字符串中提取文本,連字符和數字
- 10. 從字符串中提取字符串
- 11. 提取字符串中的文本 - python
- 12. 從字符串中提取
- 13. 從字符串中提取
- 14. 從查詢字符串中提取中文文本
- 15. 從文件中提取子字符串
- 16. 從PE文件中提取字符串
- 17. 從html文件中提取字符串
- 18. 從文件中提取字符串
- 19. 從HTML文件中提取字符串
- 20. Python字符串提取文本文件
- 21. 從文本字段中提取字符串SQL Server 2012
- 22. 從一個文本字符串中提取數字 - Excel
- 23. 從「/」之間的字符串中提取文本和數字
- 24. 從字符串中提取字符
- 25. 從字符串中提取字符
- 26. 從文本文件中提取字符串
- 27. 如何從文本文件中提取精確的字符串
- 28. 如何從文本文件中提取多行字符串?
- 29. 從循環的文本文件中提取字符串數據
- 30. 如何從文本文件中提取子字符串?
僅供參考:http://stackoverflow.com/questions/27010295/split-alpha-and-numeric-using-sql –
KWR/- X - X -/1.4301 ...這將被固定所有時間? –
可以有'50X50X5X4X7'嗎?你能給所有可能的模式? –