数据库中对于string类型的查找问题(20分)

  • 主题发起人 主题发起人 xiaocai
  • 开始时间 开始时间
X

xiaocai

Unregistered / Unconfirmed
GUEST, unregistred user!
我的库中的字段是STRING类型的,但是程序中有个功能是查询,查询中可以带有条件,
有什么>=、<=、<>、MIN、MAX....本来没考虑到,但是忽然发现有点不对,即
select * from my table where aaa>=:paramaaa......
如果库中的aaa=100,而paramaaa=10,则结果返回正常,但是如果aaa=30,paramaaa=10000
就不对了,因为integer中10000>30,但是string中10000<30,库结构已经来不及改变了
请问有仁兄有没有妙法回春啊?
 
如果是>,<,>=,<=则生成的sql调用类型转换如:
select * from mytable where convert(int, :param)<=convert(int, aaa)
 
语法肯定是这样吗,我马上试!还有MAX和MIN返回也不正常,PEARL兄台再帮一把?
 
字符串比较跟数值比较当然不同!
由两个思路:
1、转换成数值比较,同Pearl
2、首先比较长度,等长的再比较大小!
如何?
 
等长这种思路不错,就是编写起来太恐怖,MAXMIN、MAXMIN!!!
 
接受答案了.
 
后退
顶部