1. 程式人生 > >SQL 中函式 REPLACE() 的用法及例項

SQL 中函式 REPLACE() 的用法及例項

一、定義:
  官方語法:
REPLACE ( string_expression , string_pattern , string_replacement )
  引數含義:
string_expression 要搜尋的字串表示式。string_expression 可以是字元或二進位制資料型別。
string_pattern 是要查詢的子字串。string_pattern 可以是字元或二進位制資料型別。string_pattern 不能是空字串 ('')。
string_replacement 替換字串。string_replacement 可以是字元或二進位制資料型別。
  返回型別:
如果其中的一個輸入引數資料型別為 nvarchar,則返回 nvarchar;否則 REPLACE 返回 varchar。
如果任何一個引數為 NULL,則返回 NULL。
  最直接、最直白的意思:REPLACE(String,from_str,to_str) 即:將String中所有出現的from_str替換為to_str。

二、例項:

1、直接替換字串中的部分字元:

select REPLACE('abcdefghabc','abc','xxx')--輸入的字串為:abcdefghabc

結果為:xxxdefghxxx

2、替換一個欄位中所有的部分字元:

--新建表
create table tmp_city(
city_id int,
city_name varchar(10))
--插入資料
insert into tmp_city(city_id,city_name) values ('1100','北京市')
insert into tmp_city(city_id,city_name) values ('1200','天津市')
insert into tmp_city(city_id,city_name) values ('1300','上海市')
insert into tmp_city(city_id,city_name) values ('1400','重慶市')
insert into tmp_city(city_id,city_name) values ('1500','青島市')
insert into tmp_city(city_id,city_name) values ('1600','大連市')
--查詢結果
select city_name,REPLACE(city_name,'市','') as city from tmp_city

結果如圖: