模糊查詢的問題

2021-04-25 07:12:11 字數 843 閱讀 3558

在sql server中模糊查詢通常是這樣的select * from articletable where authorname like '%jacky%'

但是在access中用這條語句執行的時候竟然發現查不出結果,怎麼可能呢?

後來查了下資料,發現問題如下:

要進行模糊查詢,則必須使用萬用字元,access庫的萬用字元和sql server的萬用字元不一樣。

access庫的萬用字元為:

*  與任何個數的字元匹配。

?  與任何單個字母的字元匹配

在sql server中的萬用字元為:

% 與任何個數的字元匹配

-  與單個字元匹配

但是又發現,c#連線到access資料庫之後,用這樣一條語句select * from articletable where authorname like '*jacky*' (注意,這邊按照上述萬用字元的要求將%修改為*了)竟然搜尋不到應該存在的n條記錄,我靠!怎麼可能呢?明明直接在access中執行的時候是有結果的呀!!!

c#中採用的ado連線access,所以它的sql語法是ado語法,與access的語法有點不同。

access中的模糊查詢是*匹配任意字元,但如果通過c#來進行access模糊查詢的話,是用%表示匹配任意字元。

所以,你的查詢語句應該是

select * from articletable where authorname like '%jacky%'

es模糊查詢的問題

今天在遇到es查詢的時候,遇到了難點,花了半天才發現問題原因。需求是 es實現模糊查詢。相當於sql中的like 像 一樣。但是在開發過程中,我使用了各種分詞,各種查詢 總是實現不了。問題 比如 我查詢切片麵包可以查詢出來,但是我查詢切麵包就查詢不出來。原因是es預設採用了分詞機制,導致我查詢的時候...

模糊查詢「 」轉換問題

在做乙個系統,功能是充值查詢,在此用的是模糊查詢 比如我要查詢乙個叫小明的同學,我只輸入 小 表內就出現所有姓名中有關小的同學 在做的過程中遇到乙個問題,都知道模糊查詢少不了 的應用。在此我還寫過關於d層訪問資料庫的初始寫法,方法沒有錯,放到sql sever裡是可以找到的,但是寫在vs裡需要強轉,...

oracle關於模糊查詢的問題

以前模糊查詢使用的是 like 例如 schema kmh qc select v.unitprice,v.unit,v.storage,v.stationeryname,v.stationeryid,v.modelsize,v.classname,v.classid from v wjqc sto...