2016-12-30 46 views
-5

我有一個很長的SQL查詢,必須通過搜索修改查詢並替換找到的下面的字符串。您能否讓我知道實現它的最簡單方法。搜索並替換SQL Server查詢中的字符

1)搜索並更換

input string - "ch.[No_] AS [Contract No.]" 

作爲

output string - "ch.[No] AS [ContractNo.]" 

2)

input string - [Status Reason Code Description] 
output string - [StatusReasonCodeDescription] 

這個查找和替換必須掃描整個查詢且僅當上述取代找到字符串,以便此修改的查詢可以在另一個數據庫中運行

+6

做它在文本編輯器? – DVT

+0

它可以是具有上述模式的任何文本,因此替換應該能夠處理 – reach2khan

+7

SQL Server編輯器的Ctrl + H屬性有什麼問題? –

回答

0

更新:我給你這個兄弟

  1. 下載記事本+ https://notepad-plus-plus.org/
  2. 按Ctrl + H轉至更換菜單
  3. 點擊「替換」選項卡
  4. 改變「搜索模式」到「常規表達」
  5. 查找內容:(\[.*?)\s(.*?\])
  6. 替換爲:\1\2
  7. 命中「全部替換」一堆次以獲得所有空白。
  8. 更改查找內容:(\[.*?)-(.*?\])
  9. 多次點擊「全部替換」以獲得所有的破折號。
  10. 保存!

截圖供參考: enter image description here

+0

地獄,SSMS可以做到這一點。 –

+0

哈哈,是的,真的只是使用SSMS文本編輯器..也許有更多的問題誰知道... – pizzaslice

+0

我實際上是在整個查詢中尋找一個特定的搜索模式。 – reach2khan

0

目前還不清楚到由什麼代替的! 但是,如果文本是靜態的,你可以做以下的SQL服務器編輯步驟:

  1. 打開在編輯模式下查詢
  2. Ctrl + H
  3. Find what框中,鍵入input string - "ch.[No_] AS [Contract No.]"
  4. Replace with框,型號output string - "ch.[No] AS [ContractNo.]"
  5. Replace all按鈕

對於下一個替代品也是如上所述。

...

  • Find what框中,鍵入input string - "input string - [Status Reason Code Description]
  • Replace with框中,鍵入output string - "output string - [StatusReasonCodeDescription]
  • ...