首页 新闻 搜索 专区 学院

关于SQL SERVER SQL查询的一个问题

0
[已解决问题] 解决于 2017-05-24 09:54

数据库中一个字段为nvarchar(50)类型,
我在写sql查询时,因为实际表中存储的是数字,比如100.20, 3.2等等..
问题是在查询时 between 100 and 1000时,只匹配1开头的数据,而200等符合要求的不匹配。
请问该如何处理?

我只能先CONVERT(Numeric(10,2), Travel) between 100 and 1000吗?

是否还有别的什么好办法吗?
谢谢..

站在那看风景的主页 站在那看风景 | 菜鸟二级 | 园豆:371
提问于:2017-05-24 09:37
< >
分享
最佳答案
0

没有.最好的办法是把这个字段类型改成小数型

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:28830 | 2017-05-24 09:48

好吧,也想修改为字段类型。但是不太现实,因为有的时候用户也会输入一些非数字类型。

谢谢。

站在那看风景 | 园豆:371 (菜鸟二级) | 2017-05-24 09:54

@站在那看风景: 你这不是扯淡...如果用户输入非数字.那你的sql都抛异常啦.

吴瑞祥 | 园豆:28830 (高人七级) | 2017-05-24 10:06

@吴瑞祥: 所以会先对用户输入的信息做是否为数字的校验,如果是数字才采用上述sql,否则就是别的sql了...我想知道的是针对用户输入数字的情况下的办法。

站在那看风景 | 园豆:371 (菜鸟二级) | 2017-05-25 16:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册