access中单个字符比较

access中单个字符比较,第1张

数据库比较汉字大小实际上也是遵循字典规则的。单个汉字之间比大小,系统后台是按其ASCII码的大小进行比较的,而每个汉字的编码又是按照它们的拼音顺序来编排其编码大小的。一般来说大家都不知道每个汉字的电脑编码是多少,但是汉字的拼音很多人就可以信手拈来,至少可用字典查到,因此我们可以利用汉字的拼音顺序来判断两个汉字之间的大小。

以题主的举例,我们来分析一下:

啊 (a)<波(bo)

按字符串的大小比较规则,从左边第一个字符开始比较,a<b 第一轮比较已经分出大小, "啊" 小于 "波"

李(li) 小于 罗(luo)

第一轮开始,l=l 两者大小一样,未能分出大小,进入第二轮比较

第二轮,i<u 已经分出大小,比较结束,"李" 小于 "罗"。

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


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

原文地址: http://outofmemory.cn/sjk/9419843.html

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

发表评论

登录后才能评论

评论列表(0条)

保存