當前位置:首頁 » 編程語言 » sql中的instr
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql中的instr

發布時間: 2022-02-09 02:41:10

① ORACLE 中的instr函數,在MSsql中怎樣替代

Oracle:INSTR(<C1>,<C2>[,I][,J])
說明:在C1中從I開始搜索C2第J次出現的位置。I:默認1; J:默認1

Transact-SQL:CHARINDEX(<C1>,<C2>[,I])
說明:在C2中從I開始搜索C1第1次出現的位置。I:默認1

② ORACLE用pl/sql中的instr、replace等字元處理函數,字元串為'XXX='時容易視為變數該怎麼處理

  • 我要說一句,連PL/SQL都不知道的也能給推薦?
    請推薦的人不要只為了完成任務而推薦,為網友,為知道負點責好嗎?
    如果是C#,直接split+length就可以得到結果,人家要的是PL/SQL.

③ access中InStr作為文本值查詢條件時,是什麼意思

Access資料庫支持VB內置函數InStr,該函數返回一個變體型Variant (Long)值,指定一字元串在另一字元串中最先出現的位置。


在ACCESS SQL查詢語句里使用InStr函數作為篩選條件,可以起到類似「Like」運算符加「通配符」那樣的模糊查詢的效果、甚至更多的其他作用。下面兩個例子有助理解InStr函數在查詢條件中的作用:


例一,列出學生表中名字里含有「霞」字的學生的詳細資料

select*from學生表whereInStr(姓名,"霞")>0;


例二,此例是稍微復雜兩表模糊連接查詢。要求列出」公司信息表「里」從事行業「欄位內含有與」標准行業稱呼表「里」行業「欄位相同行業的各個公司信息

selecta.*from公司信息表a,標准行業稱呼表bwhereinstr(a.從事行業,b.行業)>0;


關於InStr函數的詳細說明請見附圖

④ hql里有類似於 sql 里的instr的函數嗎

HQL使用sql函數不靠譜,你用sql吧,你用hql能返回什麼?不也是個字元串。 HQL是Hibernate的一套語法和標准,你寫的查詢語句必須符合它的要求,而對於Dialect(方言)只是充當了HQL到SQL的一個翻譯官而已,它只能將HQL語句翻譯成SQL語句

⑤ 在sql server 2000中不支持instr 函數,請問如何解決

sql server中這個函數叫做charindex

函數格式:

CHARINDEX(targetStr,srcStr[,start_location])

返回目標字元串(targetStr)在源字元串(srcStr)中,從指定位置(start_location)以後第一次出現的位置

⑥ sql instr函數在postgre可以用嗎

不可以,需要自己寫代碼實現。。

參考:

CREATEORREPLACEFUNCTION"newms"."instr"(stringvarchar,string_to_searchvarchar,beg_indexint4)
RETURNS"pg_catalog"."int4"AS$BODY$
DECLARE
posintegerNOTNULLDEFAULT0;
temp_strvarchar;
beginteger;
lengthinteger;
ss_lengthinteger;
BEGIN
IFbeg_index>0THEN
temp_str:=substring(stringFROMbeg_index);
pos:=position(string_to_searchINtemp_str);
IFpos=0THEN
RETURN0;
ELSE
RETURNpos+beg_index-1;
ENDIF;
ELSE
ss_length:=char_length(string_to_search);
length:=char_length(string);
beg:=length+beg_index-ss_length+2;
WHILEbeg>0LOOP
temp_str:=substring(stringFROMbegFORss_length);
pos:=position(string_to_searchINtemp_str);
IFpos>0THEN
RETURNbeg;
ENDIF;
beg:=beg-1;
ENDLOOP;
RETURN0;
ENDIF;
END;
$BODY$

⑦ Access中instr函數

本來instr如果找不到某個字元的時候返回的就是0啊,還有instr只能返回這個字元串里首次出現某個字元的位置

比如字元串為ABA,那麼這個只返回1,而不會返回3

多嘴一句,我覺得你應該把語句寫的標准點,括弧,逗號什麼的還是用英文寫法的吧

我就隨便建了個表

⑧ oracle資料庫中的instr的具體用法,在網上搜了很多,最終還是不明白,請教高手解釋。

首先,你運行下這句

selectinstr('123,456',',')fromal

這個就是要查找逗號在123,456中的位置,結果是4,這個你應該明白吧,就是左數第4位是逗號

然後。這句

selectinstr('123,456,789',',')fromal

結果還是4,因為後邊不加參數的話,就代表oracle要從最左端起,找第一個逗號,所以還是4,當你想查第二個逗號的位置的時候

selectinstr('123,456,789',',',5)fromal

後邊多了一個5,也就是以5為起始位,開始找第一個逗號,所以最後結果就是8,也就是你要找的第二個逗號的位置了

4個參數

selectinstr('123,456,789',',',1,2)fromal

就是代表從第一位開始取,取第二個逗號的位置,結果是8,如果2換成3的話,因為不存在第三個逗號,所以返回0

⑨ SQLsever里有沒有類似instr這樣的與字元串有關的函數

使用LIKE來匹配,
函數的話,有CharIndex()

⑩ sql語句。instr完全匹配

這個你多試驗一下就能找到答案了。