问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle中字符串比较

发布网友 发布时间:2022-04-09 00:21

我来回答

3个回答

热心网友 时间:2022-04-09 01:50

在oracle中,将空字符串视为null,任何值与null比较结果都为null。如此一来,在比较两个字符串的时候就会出现意外。请看以下的例子:declarei
varchar2(10)
:=
null;
v
varchar2(10)
:=
'abc';beginif(i
=
v)
then
v
varchar2(10)
:=
'abc';beginif(i
<>
v)
then
dbms_output.put_line('不等');elsedbms_output.put_line('相等');end
if;end;看上去和第一个程序没有太大的差别,很容易就得出结果:'不等'。呵呵。你确定结果就是这个吗?那么请你在sqlplus测试一下,来验证你是正确的。很可惜,正确的结果应该是:'相等'。是不是很诧异?正如开始所说的:任何值与null比较结果都为null。即在第一个程序中的i=v比较的结果应该是null,而第二个程序中的i<>v比较的结果也是null。当if结构中的条件为null时,将跳过当前的分支进入到else或者是结束。不行吗?那你运行一下以下的程序将可以等到验证:beginif(null)
then
dbms_output.put_line('not
null');elsedbms_output.put_line('null');end
if;end;结果输出的是:'null'。
1、当i和v都为null的时候,认为i和v相等。i
is
null
and
v
is
null(不要写成这样:i
=
v。从上边的分析我们可以知道这样写的结果为null)。
2、当i和v中只有一个为null,肯定不相等。
3、当i和v都不为null的时候,我们就可以用‘=’号来判断它们是否相等。i
is
not
null
and
v
is
not
null
and
i
=
v。
根据以上三点,我们可以得出判断i和v相等的条件表达式:i
is
null
and
v
is
null
or
i
is
not
null
and
v
is
not
null
and
i
=
v。
那么两个字符串不相等的条件表达式只需要判断相等的表达式为false就可以了。
把判断两个字符串是否相等的功能写成函数:
create
or
replace
function
isequal(var1
in
varchar2,
var2
in
varchar2)return
number
--
0:不等
1:相等
-1:错误isif(var1
is
null
and
var2
is
null
or
var1
is
not
null
and
var2
is
not
null
and
var1
=
var2)
thenreturn
1;elsereturn
0;enf
if;beginexceptionwhen
others
thenreturn
-1;end;以下上测试程序:declarevar1
varchar2(10)
:=
null;

热心网友 时间:2022-04-09 03:08

用instr(str1,str2[,m[,n]])函数,返回str1从第m字符开始,str2第n次出现的位置,m及n的缺省值为1。
例如你可以用instr(文本框中输入的字符串,'孙中山')。

热心网友 时间:2022-04-09 04:43

select * from 表名 where 字段 like '%孙中山%';
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
姐妹们,哥伦比亚的徒步鞋怎么样?下个月就要去吴越古道户外徒步旅行... 徒步装备选哪个牌子好 徒步小白上线!想问问大神们徒步鞋哥伦比亚户外活动性能如何?方便吗? 去医院怎么检查自己缺钙和缺维生素? 查缺钙做什么检查 骨骼缺钙怎么检查 检查缺钙查什么 joryaweekend是什么牌子 剪映在那里修改视频尺寸 剪映如何修改视频画面尺寸 修改视频画面尺寸方法分享 外地车在北京违章最长多少天能查到 北京的汽车要是在天津违章了,如何查询? 我北京的车在天津违章了怎么办 北京车在天津违章。 天津拍照的车辆在外地,如果有违章要多久能查到? 北京牌照在天津长期开,违章怎么查询?是在北京交通网还是天津的?隔多久可以查询到? 在天津车辆违章多久查不到就是没有 天津车辆违章要多长时间能查询 天津交通违章几天可以查到 天津违章多久查的到 外地车在天津违章几天,能查到 外地车辆在天津违章一般几天可以查到 表格里的字怎样往前移 我的兄弟(死友)跟我的仇人交了朋友,这样我以后可就不好混了,我该怎么办? 为河梁生别之诗,山阳死友之转,得此有三的此指的是什么? “死道友不死贫道”是什么意思? 紫薯米粥的做法 梦见自己去拜自己的死友是吉兆还是凶兆呢?周公解梦 紫薯米饭的做法 大米紫薯粥怎么熬粥 opR11plus怎么截长屏? 《建国大业》中甄子丹演了谁? 建国大业甄一丹饰演什么角色? oppo r11plus怎么截屏 王宝强和甄子丹主演的电影有哪些? 甄子丹在《建国大业》里扮演什么角色? oppo r11plus 怎么截图 甄子丹在《建国大业》里面客串谁啊? oppo r11 plus怎么截屏? 各大明星在建国大业里分别扮演的谁 oppo r11plus 怎么截图? 甄子丹和成龙合作过那些电影 电子政务建设指导原则是什么? 华为荣耀手机综合排序 mate30Pro&gt;P40Pro+&gt;P40Pro&gt;荣耀30Pro+&gt;荣耀30... hr 查询 别人学历 适合用哪个 有三个选项:本人查询、零散查询、企业用户查询 我选择哪个 费久的衣物怎么办 铅对血液循环有影响吗?铅对身体有什么危害?铅超标了会怎样?有什么医疗方法? 儿童铅中毒对健康有什么影响呢? 铅对人的身体有什么危害呢?? 铅超标对人体会造成哪些危害