Q
Sql高級替換
-1
A
回答
0
這是一個非常基本的解決方案,但它爲你的作品已經給(SQL Fiddle here)的情況下:
SELECT
in_str,
(
-- If the string starts with '/', prepend '('
CASE WHEN in_str LIKE '/%' THEN '(' ELSE '' END
-- Replace/after a space with (/
+ REPLACE(
-- Replace/before by a space with /)
REPLACE(in_str, ' /', ' (/'),
'/ ', '/) '
)
-- If the string ends with '/', append ')'
+ CASE WHEN in_str LIKE '%/' THEN ')' ELSE '' END
) AS out_str
FROM table1;
如果table1
具有以下in_str
值這會給你相應的out_str
值:
in_str out_str
------------------------ ------------------------------
/one/ two /three/ /four/ (/one/) two (/three/) (/four/)
one /two/ /three/ one (/two/) (/three/)
/one/ /two/ three (/one/) (/two/) three
//one/// two// (//one (/) (//) two/) (/)
我已經包括最後一個演示一些邊緣情況。還要注意,這隻能處理/
字符,後面緊跟一個空格或字符串的開頭或結尾。其他空白字符,如換行符和製表符不處理。例如,如果你有這樣的字符串(其中⏎
表示換行和⇒
選項卡):
/one/⇒/two/⏎
/three/⏎
...你會得到的輸出是這樣的:
(/one/⇒/two/⏎
/three/⏎
您可以處理這些場景還有REPLACE
的功能,但這是一個兔子洞,你必須自己跳下去。
+0
THX :(但現在下代碼 實施例的工作: [Dealer_Type]在( 'XX', 'XXX')和[Is_Success] = '1' 和[Product_Full_Name]在(N'xxx」) (['xx'],['xxx'])和[Is_Success] = ['1']和[N ['xxx']中的[Product_Full_Name])中的輸出: [Dealer_Type] – user2416205
相關問題
- 1. Powershell高級查找替換
- 2. Javascript高級替換 - RegExp?
- 3. 高級查找和替換Sublime
- 4. 記事本++高級替換函數
- 5. Python中的高級字符串替換
- 6. 高級VIM替換生成C#代碼
- 7. 在C#中的高級替換
- 8. 在Excel中高級查找和替換
- 9. 高級查找和替換MSWord
- 10. 高級SQL SELECT
- 11. 高級SQL INSERT
- 12. 高級查找/替換崇高文本2
- 13. SQL:高級SQL問題
- 14. 高級SQL查詢
- 15. SQL高級查詢
- 16. SQL:高級查詢
- 17. 高級SQL Rails中
- 18. SQL高級分類
- 19. 高級SQL查詢
- 20. SQL Len(替換)
- 21. 替換;在SQL
- 22. SQL高級腳本選項
- 23. 高級我的SQL查詢
- 24. 高級SQL SERVER 2008視頻
- 25. 高級WordPress的SQL查詢
- 26. 高級SQL查詢設計
- 27. SQL - 高級「法醫」查詢
- 28. SQL Server高級整理
- 29. 高級圖形SQL問題
- 30. 高級分組在SQL Server
您使用了哪些數據庫產品? –
Sql 2008 R2 .... – user2416205
請參閱http://stackoverflow.com/questions/17365222/sql-server-2008-update-and-replace-part-of-a-string –