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.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作用)。對於沒有指定的欄位以預設值插入。

相關推薦

SQL替換函式replace()使用

語法 REPLACE ( string_expression , string_pattern , string_replacement ) 引數 string_expression 要搜尋的字串表示式。string_expression 可以是字元或二進位制資料型別。

Python替換函式---replace(),re.sub()和strip()

這是原文,寫的很好,共勉! 1. replace() 物件.replace(rgExp, replaceText, max) rgExp,replaceText是必須要有的,max是可選的引數,可以不加 在物件的每個rgExp都替換成replaceText,從左到右最多max

oracle替換函式replace和translate函式

translate函式 create or replace procedure PRO_CAR_LOTTORY_PRODUCT(return_code out varchar2) is exe exception; num

SQL排序函式的用法

SQL中的排序函式有三:1、row_number() over();2、rank() over();3、dense_rank() over(),具體用法如下: 1.row_number() over(partition by 列名 order by 列名 [desc]) 其中,partition by 是分組

PHP替換函式str_replace()

str_replace(find,replace,string,count) find:需要替換的值 replace:將要替換的值, string:被替換的字串 count:同級替換的次數 如果需要把資料庫中儲存的帶回車以及空格的文章,按照其原來的樣式顯示在html中,可以使用此函式, function

資料庫:SQL函式

目錄 一、單行函式 1.特點:返回結果是1條記錄 2.分類:數學函式、字串函式、日期函式 2.1 數學函式 select PI();#圓周率 select CE

SQL基本函式的講解

SQL 擁有很多可用於計數和計算的內建函式。 函式的語法 內建 SQL 函式的語法是:SELECT function(列) FROM 表 函式的型別 在 SQL 中,基本的函式型別和種類有若干種。函式的基本型別是: Aggregate 函式 Scalar 函式

SQL decode()函式簡介

今天看別人的SQL時看這裡面還有decode()函式,以前從來沒接觸到,上網查了一下,還挺好用的一個函式,寫下來希望對朋友們有幫助哈!   decode()函式簡介: 主要作用:將查詢結果翻譯成其他值(即以其他形式表現出來,以下舉例說明); 使用方法: Selec

SQLstr函式的用法

SQL SERVER 中str函式的用法 STR函式主要用於返回與指定數值表示式對應的字元。 語法 STR(nExpression [, nLength [, nDecimalPlaces]]) 引數 nExpression STR( ) 要計算的數值表示式。 nLengt

SQLobject_id函式的用法

SQL中object_id函式的用法 語法:OBJECT_ID ( '[ database_name . [ schema_name ] . | schema_name . ] object_name' [ ,'object_type' ] ) 引數: ' object_n

SQLround()函式的使用

ROUND() 函式 ROUND 函式用於把數值欄位舍入為指定的小數位數。 SQL ROUND() 語法 SELECT ROUND(column_name,decimals) FROM table_name 引數 描述

SQLif函式使用技巧

語法:IF(expr1,expr2,expr3) 其中,expr1是判斷條件,expr2和expr3是符合expr1的自定義的返回結果。 用處:當從資料庫中查詢出來的結果需要轉換成中文或是其他自定義的

sqlcount函式和distinct函式的配合使用

使用者名稱    商品    數量 A        甲      1 B        乙      2 C        丙      2 B        甲      1 A        丙      2 C        丙      1 寫sql語句 要求查出

sql開窗函式簡單說明

開窗函式與聚合函式一樣,也是對行集組進行聚合計算,但是它不像普通聚合函式那樣每組只返回一個值,開窗函式可以為每組返回多個值,因為開窗函式所執行聚合計算的行集組是視窗。 語法:主要是over( PARTITION BY (根據某條件分組,形成一個小組)….OR

PL/SQLLpad函式和Rpad函式的用法

這兩個函式主要用來實現一些對齊,如下圖的一個訂單介面 pad的中文意思是填充,所以說顧名思義 Lpad->Left pad ->左填充 Rpad->Right pad ->右填充 這兩個函式分別都接受三個引數,以L

sql優化總結 / sqldecode(...)函式的用法

相當於if語句 decode函式比較1個引數時 SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') name FROM bank #如果第一個引數inParam=='beComparedParam',則select得到的name顯示為值1, #如果第

SQLISNUMERIC函式

ISNUMERIC函式的作用是確定表示式是否為一個有效的數字型別。 語法: ISNUMERIC ( expression ) --備註 --如果輸入表示式的計算值為有效的整數、浮點數、money 或 decimal 型別時,ISNUMERIC 返回 1;否則返回 0。返回

SQLSUBSTRING函式的用法及例項解析

一、定義:SQL 中的 substring 函式是用來擷取字串中的一部分字元。這個函式的名稱在不同的資料庫中不完全一樣。 MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUB

Java StringBuffer 字串替換函式 replace

StringBuffer replace(int start, int end, String str) 在這個序列的一個子字串的字元來替換指定的字串中的字元。 子字串的開始在指定的開始,

js的字串替換函式replace

最近用js寫了一個模板替換的函式,傳入一個物件和一個模板字串,將模板中對應的變數替換成對應的值,這個功能很簡單,遍歷一下物件,然後使用js自帶的replace函式進行替換,寫好後,一開始覺得挺好用的,