程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> Sql Server中REPLACE函數的使用

Sql Server中REPLACE函數的使用

編輯:更多數據庫知識

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

  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字符串了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved