select萬用字元星號百分號的區別

時間 2022-02-22 22:10:22

1樓:匿名使用者

百分號就是萬用字元,跟星號的區別如下:

一、使用位置不同

1、萬用字元:萬用字元在where語句後,匹配字元實現查詢功能。

2、星號:星號在where語句前。

二、功能不同

1、萬用字元:用來在儲存的資料行中匹配查詢。

2、星號:用來指定查詢的資料列名。

三、用法不同

1、萬用字元:select 列1,列2... from 表a where 列1="指定值" and 列2 like '%an%'。

2、星號:select * from dmsp.dmsp_dimension_content limit 0, 1000。

2樓:

我整理的sql模糊查詢供你參考:

sql提供了四種匹配模式:

1,%:表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號(%%)表示。

比如 select * from [user] where u_name like 』%三%』

將會把u_name為「張三」,「張貓三」、「三腳貓」,「唐三藏」等等有「三」的記錄全找出來。

另外,如果需要找出u_name中既有「三」又有「貓」的記錄,請使用and條件

select * from [user] where u_name like 』%三%』 and u_name like 』%貓%』

若使用 select * from [user] where u_name like 』%三%貓%』

雖然能搜尋出「三腳貓」,但不能搜尋出符合條件的「張貓三」。

2,_:表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句:

比如 select * from [user] where u_name like 』_三_』

只找出「唐三藏」這樣u_name為三個字且中間一個字是「三」的;

再比如 select * from [user] where u_name like 』三__』;

只找出「三腳貓」這樣name為三個字且第一個字是「三」的;

3,[ ]:表示括號內所列字元中的一個(類似正規表示式)。指定一個字元、字串或範圍,要求所匹配物件為它們中的任一個。

比如 select * from [user] where u_name like 』[張李王]三』

將找出「張三」、「李三」、「王三」(而不是「張李王三」);

如 [ ] 內有一系列字元(01234、abcde之類的)則可略寫為「0-4」、「a-e」

select * from [user] where u_name like 』老[1-9]』

將找出「老1」、「老2」、……、「老9」;

4,[^ ] :表示不在括號所列之內的單個字元。其取值和 相同,但它要求所匹配物件為指定字元以外的任一個字元。

比如 select * from [user] where u_name like 』[^張李王]三』

將找出不姓「張」、「李」、「王」的「趙三」、「孫三」等;

select * from [user] where u_name like 』老[^1-4]』;

將排除「老1」到「老4」,尋找「老5」、「老6」、……

5,查詢內容包含萬用字元時

由於萬用字元的緣故,導致我們查詢特殊字元「%」、「_」、「[」的語句無法正常實現,而把特殊字元用「[ ]」括起便可正常查詢。據此我們寫出以下函式:

function sqlencode(str)

str=replace(str,"[","[") 』此句一定要在最前

str=replace(str,"_","[_]")

str=replace(str,"%","[%]")

sqlencode=str

end function

在查詢前將待查字串先經該函式處理即可。

3樓:匿名使用者

簡單的說 % 代表 沒有或是多個字元。 _ 只能代表一個字元兩者可用在like裡。

* 只能用正規表示式中,代表沒有或多個字元。

4樓:匿名使用者

sql server 中 "%" 替代一個或多個字元

"_ "僅替代一個字元

"*"在access中用來替代一個或多個字元

5樓:賓士

[*]和[%]雖然都叫萬用字元但是含義不一樣,在通常的用法中主要區別如下:

1、萬用字元[*],如有sql:select * from test1;

上面這個sql中使用的就是萬用字元[*],代表的含義是表[test1]中的所有欄位(用這種方法就不用把欄位一一列出了),這種用法相信你應該用過。

2、萬用字元[%],如有sql:select a from test2 where a like '%張三';

上面這個sql中使用的就是萬用字元[%],[%]用於sql的模糊查詢中,其含義表示任意字元。[a like '%張三']表示只要a欄位以[張三]結尾(前面是[任意字元]都可以)就滿足要求。以此類推[a like '%張三%']則表示只要a欄位含有[張三]就符合要求。

說明:特殊的在access資料庫中沒有[%]萬用字元,只有[*]萬用字元,它的含義包含上面講的兩個部分。

---以上,希望對你有所幫助。

6樓:

呵呵,不要關那麼多啦,sql我用% access裡好像只能用*

萬用字元百分號表示什麼意思

7樓:匿名使用者

%xx表示特殊符號,xx為不同的數字,如%20表示空格

sql怎麼知道有沒有% (不是萬用字元,而是百分號)

8樓:匿名使用者

like 'db\%i'escape'\'

這句的意思就是:查詢db%i這樣的內容,其中\是換嗎字元,所以%被轉義為普通的%字元,而且此方法適合於萬用字元『_』

希望對你有用,誠邀交流,希望採納!

9樓:齊大大一號

sql裡面有「% 」符號。

sql中「%」表示萬用字元。例如:like 'db\%i'escape'\'這句的意思就是:

查詢db%i這樣的內容,其中\是換嗎字元,所以%被轉義為普通的%字元,而且此方法適合於萬用字元『-』。

10樓:匿名使用者

如:select * from 學生表 where 姓名 like'%[%]%'

有如下結果:

2009121001 賈%濤 男 1992-11-02 00:00:00.000 河南鄭州 005 2003

2009121002 李明% 女 1989-06-03 00:00:00.000 河南焦作 001 2001

【萬用字元詳解:】

將萬用字元作為文字使用

可以將萬用字元模式匹配字串用作文字字串,方法是將萬用字元放在括號中。下表顯示了使用 like 關鍵字和 [ ] 萬用字元的示例。

符號 含義

like '5[%]' 5%

like '[_]n' _n

like '[a-cdf]' a、b、c、d 或 f

like '[-acdf]' -、a、c、d 或 f

like '[ [ ]' [

like ']' ]

like 'abc[_]d%' abc_d 和 abc_de

like 'abc[def]' abcd、abce 和 abcf

11樓:

1.sqlserver的語法用 like '%[%]%' 這個可以

2.oracle的語法的話,簡單的可以使用instr函式,instr(column_name, '%') > 0

也可以使用轉義select * from table where columnname like '%\%%' escape '\'

大家好,在sql語句中這個「*」星號是什麼意思啊?謝謝

12樓:匿名使用者

這個給你簡單說下吧,,,

1、沒有限定符的話就是代表所有引用表的欄位例如:select *

from a inner join b on a.id=b.id2、有限定符的話,就是代表限定表的所有列

例如:select b.*

from a inner join b on a.id=b.id3、他也可以標示乘號,,,,

13樓:傻傻的笑

* 代表 全部的意思 例如select * from tb_name 、就是顯示所有欄位

如果是 表示式的話 就是 乘法 的意思

百分號什麼意思,c 中 百分號 是什麼意思

就是百分號,可以把兩個數量的比值寫成n 的形式,也可以把分母是100的分數寫成百分數。就是把一個數縮小100倍,本質就是把這個數除以100 c語言中的百分號是什麼意思?比如a 5,b 2,c a b,c就是求5除以2的餘,即c 1 d s c 你可以認為 是一種格式 是控制輸出資料型別的 d整形 s...

c 語言中 百分號如何輸出 如要求輸出

直接輸出就行啊。int i 50 cout 突然想到你可能是c並非標準c 如果是c還可以使用。printf d i 即兩個 連寫帶表 在c 中,如zhuhuaizhong所說,cout 但在c中,只需雙寫即可,即 printf d 50 按住shift鍵,再按住上面一排數字鍵的 5 要是看不懂你就直...

把百分數後邊的百分號去掉,得到的數與原數的差是11 88,原來這個百分數是多少

假面 把一個百分數後邊的百分號去掉,得到的數與原數的差是11.88,原來這個百分數是12 根據題意可計算 11.88 100 1 11.88 99 0.12 0.12 12 所以原百分數是12 蹦迪小王子啊 原百分數是12 把一個百分數後邊的百分號去掉,得到的數與原數的差是11.8811.88 10...