在SQL中怎样实现字符串大小的比较

在SQL中怎样实现字符串大小的比较,第1张

sql里面字符串没有大小之分,只有长度之分,可以比较长度大小,但是想用一条sql语句直接拿到大小结果来说也不太方便,最好是借助程序或者sql脚本来做,我用oracle试了下,用case when函数是可以直接比较大小的,比如第一个值比第二个大输出0,否则输出1:

select (case when len1>len2 then 0 when len1<len2 then 1 end) as res from (

select length('asd') as len1,length('as') as len2 from dual) t

目测是oracle?

Oracle比较字符串是根据ASCII码来的,第一个字母的ASCII大小比较如果相等再比较下一个,类推

Oracle在执行SQL的时候有些时候会自动转换

为了验证oracle里字符串比较是按ascii码来比较的 ,做一个简单的验证例子。

select ascii('a'),ascii('888') from dual


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10827885.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存