程序员小天地技术干货

Mysql实现百分数型字符串比较的一种思路

2017-08-09  本文已影响0人  小草莓子桑

好久没有和大家见面了,最近换了工作,一直在熟悉新公司的业务和技术,这些天闲了一些,今天给大家分享一个在Mysql中实现百分数型字符串比较的一种思路。

举个栗子

这几天遇到个小需求,一个表中存储百分数的字段是varchar类型的,存储的数据都是像 20%这种,如图:

像这种,百分数型的字符串

是这种百分数型的字符串,现在要实现按这个字段进行范围查询,就涉及到了这种百分数型的字符串之间的比较,分享一种我的实现思路,用到了两个mysql的函数:

LEFT函数

LEFT(str,len),返回字符串str的左面len个字符,先返回百分数型字符串除了%号的数字

left('10%',length('10%')-1)

SELECT left('10%',length('10%')-1) FROM dual;

length返回字符串的长度(不关键,就不专门说了)


如图,结果变成了数字型的字符串
ABS函数

ABS(X),返回X的绝对值

ABS(left('10%',length('10%')-1))
SELECT ABS(left('10%',length('10%')-1)) FROM dual;
如图,此时,结果已经变成了double型了

通过这两次操作,百分数型字符串已经变成了double行的数字,直接进行比较就行。


在代码中直接使用mysql这两个函数就可以实现了

今天就为大家说道这里,欢迎大家来交流,指出文中一些说错的地方,让我加深认识。
谢谢大家!

上一篇下一篇

猜你喜欢

热点阅读