SQL的问题,字符型字段比较大小(30分)

  • 主题发起人 主题发起人 wmsoft
  • 开始时间 开始时间
W

wmsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
比如有个叫“楼层”的字符型字段,我要用SQL做如下查询:
select * from a.db where 楼层>“1” and 楼层 <"2"
但这样的话,那些17,18楼的全部跑出来了。应如何写呢?
 
难吗?难就加分。
 
如果是一位数就在前面加0,即'01'、'02'、。。。。。。。


 
select * from a.db where convert(integer,楼层)>1 and convert(integer,楼层)<2
 
这是字段类型的不妥引起的,将它改为 int 不就行了。
 
to 春意:加0不好看。
to qianwt: 执行通不过,意思是好的,转成数字型再比较,但语句应如何表达?
to jsxjd: 不能改为数字,因为还有些1+2之类的。
 
加0,但在程序转出时请转换成整型就OK了!!!
显示:inttostr(strtoint('01'))
 
有个问题想问一下 大于1小于2的是几层呀
 
最好的方法就是将数据库“楼层”的类型改为INT型
 
>>>>>select * from a.db where 楼层>“1” and 楼层 <"2"
我是用你上面的SQL改的,你的能够通过,我的就可以
 
>1 <2 应该是没有结果的,但在查询中却会跑出17,18之类的。
to qianwt: 你下面这句在DATABASE DESTOP中执行会出现错误。可能DELPHI不支持这语句
select * from a.db where convert(integer,楼层)>1 and convert(integer,楼层)<2
 
select * from a.db where convert(integer,楼层)>1 and convert(integer,楼层)<2
这是SQL语句,在服务器端执行。。。。
没关DELPHI的事。。
 
select * from a.db where convert(integer,楼层)>1 and convert(integer,楼层)<2
and length(楼层)=1
 
convert和length在DATABASE DESTOP调试时都通不过。算了,可能只有另外加个字段
做查询了。
 
查询时进行类型转换(convert cast)
 
to jsxjd: 何讲?
 
1.改数据库
2.sql数据类型转换函数
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
594
import
I
I
回复
0
查看
710
import
I
后退
顶部