escape在sqlserver中的使用

2021-06-27 00:20:07 字數 1704 閱讀 2500

1、escape是幹什麼用的?

escape相對於轉移字元

2、escape在什麼情況下使用?

舉例說明:

例如我們要進行模糊查詢:

--測試資料

declare @tablea table 

(id int

,col varchar

(20))

insert

into @tablea

select 1,

'maco'

union

all

select 2,

'mao'

union

all

select 3,

'micro'

--模糊查詢

select

*from @tablea where col like

'%ma%'

/*結果

id          col

----------- --------------------

1           maco

2           mao */

這是最普通的模糊查詢了

但是當col列含有特殊字元例如%%的時候

declare @tableb table 

(id int

,col varchar

(20))

insert

into @tableb

select 1,

'm%a%co'

union

all

select 2,

'm%a%o'

union

all

select 3,

'miacro'

select

*from @tableb where col like

'%%a%%'

上面這句就不行了,結果相當於%a%,有a的都出來了/*

結果:

id          col

----------- --------------------

1           m%a%co

2           m%a%o

3           miacro */

此時我們可以用escape來處理

declare @tablec table 

(id int

,col varchar

(20))

insert

into @tablec

select 1,

'm%a%co'

union

all

select 2,

'm%a%o'

union

all

select 3,

'miacro'

--模糊查詢

select

*from @tablec where col like

'%$%a$%%'

escape

'$'

/*結果

id          col

----------- --------------------

1           m%a%co

2           m%a%o */

在模糊查詢中使用ESCAPE

這個問題也是無意中得知的,原因在於我在模糊查詢的時候輸入了乙個 誰知將全部結果都查詢出來了,想了一下,既然是萬用字元,輸了個 進去,當然全部查詢出來了,避免的辦法就是使用escape。sql語句可以寫成 select from tablename where colname like input e...

在CentOS7 8上安裝SqlServer

本文簡要說明在centos7.8 64位系統上安裝sqlserver資料庫服務。3.1 在目錄 use local sqlserver 執行安裝命令 yum localinstall mssql server 14.0.1000.169 2.x86 64.rpm 安裝列印日誌 3.2配置 執行命令 ...

sql serve儲存過程

儲存過程 一.概念 預先編譯好的sql程式,可以包含 運算元據 變數 控制語句,增刪改查操作都可以,儲存過程是儲存在資料庫中 的乙個物件。二.好處 1.安全性更高 2.減少了網路流量 3.提高速度,效能更高 4.模組化程式設計 三 分類 1.系統儲存過程 由資料庫建立的,sp 開頭,常用的系統儲存過...