当前位置:首页 » 编程语言 » 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完全匹配

这个你多试验一下就能找到答案了。