Sql Server中REPLACE函數的使用


      在sql的使用過程當中,我們偶爾會遇到這樣一種情況,就是需要改變數據的存儲形式,比如數據庫某一張表(Info)當中有一個字段Educational(學歷),以前存儲的是Json數組,現在由於需求的改變,我需要將數據的存儲形式改成Json格式,這樣我們就需要對數據進行替換,當數據量太大時,人工操作明顯是不可取的,所以作者就找到了sql當中的REPLACE函數,下面分享一下我的個人體會。

參考地址:http://technet.microsoft.com/en-us/library/ms186862.aspx  

REPLACE
用第三個表達式替換第一個字符串表達式中出現的所有第二個給定字符串表達式。

語法
REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' )

參數
''string_replace1''

待搜索的字符串表達式。string_replace1 可以是字符數據或二進制數據。

''string_replace2''

待查找的字符串表達式。string_replace2 可以是字符數據或二進制數據。

''string_replace3''

替換用的字符串表達式。string_replace3 可以是字符數據或二進制數據。

返回類型

如果 string_replace(1、2 或 3)是支持的字符數據類型之一,則返回字符數據。

果 string_replace(1、2 或 3)是支持的 binary 數據類型之一,則返回二進制數據。

 

示例
下例用 xxx 替換 abcdefghi 中的字符串 cde。

SELECT REPLACE(''abcdefghicde'',''cde'',''xxx'')GO
下面是結果集:

------------abxxxfghixxx(1 row(s) affected)

 

那么如何直接對數據進行修改呢?

首頁,我們要實現的是對表中存儲的數據進行修改,那么一定會有 Update,其次,我們需要把我們的數據進行替換,那么一定會有 REPLACE。

得出的sql語句如下:

update [Info] set [Educational] =(select REPLACE(REPLACE([Educational],'[',''),']','')) 

執行以上的Sql語句,就會把表中存儲的數據全部從Json數組變為Json字符串了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM