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.1 建立表:
CREATE TABLE `test_tb` (
`id` int(10) unsigned NOT NULL auto_increment COMMENT '主鍵自增',
`name` char(30) default NULL COMMENT '姓名',
`address` char(60) default NULL COMMENT '地址',
`country` char(200) default NULL COMMENT '國家',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='測試表'
1.2 插入資料:
insert into test_tb(name,address,country) values
('zhangsan','北京 朝陽區','中國'),
('lisi','上海 浦東區','中國'),
('wangwu','鄭州金水區','中國'),
('zhaoliu','香港九龍','中國香港'),
('Q7','加州牛肉','美國'),
('wangba','新九州島','日本')
二、查詢替換
2.1 將address欄位裡的 “區” 替換為 “嘔” 顯示,如下
select *,replace(address,'區','嘔') AS rep
from test_tb
2.2 將address欄位裡的 “九” 替換為 “十” 顯示,如下
select *,replace(address,'九','十') AS rep
from test_tb
where id in (4,6)
總結:聯想到前面有講過 使用IF(expr1,expr2,expr3) 及 CASE...WHEN...THEN...END 可以實現查詢結果的別名顯示,
但區別是:這兩者是將查詢結果值做整體的別名顯示,而replace則可以對查詢結果的區域性字串做替換顯示(輸出)。
三、更新替換
3.1 將address欄位裡的 “東” 替換為 “西” ,如下
update test_tb set address=replace(address,'東','西') where id=2
總結:對欄位中區域性字串做更新替換。
四、插入替換
4.1 將id=6的name欄位值改為wokou
replace into test_tb VALUES(6,'wokou','新九州島','日本')
總結:向表中“替換插入”一條資料,如果原表中沒有id=6這條資料就作為新資料插入(相當於insert into作用);如果原表中有id=6這條資料就做替換(相當於update作用)。對於沒有指定的欄位以預設值插入。
相關文章
- Mysql替換欄位中指定字元(replace 函式)MySql字元函式
- 【Hive】字串替換函式translate和regexp_replaceHive字串函式
- 使用正規表示式替換字串的方法(replace方法)字串
- js replace 全域性替換JS
- js replace替換字串,同時替換多個方法JS字串
- 遨翔在知識的海洋裡----(replace中的$替換)
- replace函式函式
- ecshop中preg_replace替換為preg_replace_callback需要注意的事項
- PostgreSQL 查詢替換函式SQL函式
- JavaScript replace()替換字串中指定字元JavaScript字串字元
- PHP中preg_replace函式解析PHP函式
- nginx使用replace-filter-nginx-module實現內容替換NginxFilter
- nginx使用replace-filter-nginx-module實現內容替換的示例NginxFilter
- SQL Server 替換SQLServer
- Sql中SYSDATE函式的使用方法SQL函式
- Sql 中的 left 函式、right 函式SQL函式
- Oracle資料庫中convert()函式,在瀚高資料庫中如何替換使用?Oracle資料庫函式
- MySQL資料庫中timediff()函式,在瀚高資料庫中如何替換使用?MySql資料庫函式
- Oracle 正規表示式函式-REGEXP_REPLACE 使用例子Oracle函式
- Find and Replace Pattern(C++查詢和替換模式)C++模式
- SQL中的cast()函式SQLAST函式
- 深入瞭解下replace函式函式
- C++ replace() 函式用法C++函式
- MS SQL 替換欄位中的 u00a0SQL
- Jmeter二次開發函式 - 文字替換JMeter函式
- mysql使用phpmyadmin批次替換資料sql語句MySqlPHP
- python函式教程:Python 字串操作(string替換、擷取等)Python函式字串
- js中字串的替換JS字串
- 使用正規表示式替換報表名稱中的特殊字元(推薦)字元
- sql server 資料型別轉換函式SQLServer資料型別函式
- gohook 一個支援執行時替換 golang 函式的庫實現HookGolang函式
- 簡單介紹SQL中ISNULL函式使用方法SQLNull函式
- 05-1 pandas資料處理 刪除duplicated()、替換replace(),對映map(),重新命名rename()、聚合函式、排序take()、分組groupby()函式排序
- Linux系統程式設計之程式替換:exec 函式族Linux程式設計函式
- 正規表示式replace()函式第二個引數$&的作用函式
- 【SQL】19 SQL函式SQL函式
- Java替換PDF中的字型Java
- Java 替換PDF中的字型Java