当前位置:  开发笔记 > 数据库 > 正文

如何在SQL中选择使用一系列字符串?

如何解决《如何在SQL中选择使用一系列字符串?》经验,为你挑选了2个好方法。

我有一张带有注册号的车辆表,并希望选择一些用户提供的"从"和"到"值之间的子集.

所以我们说这个表看起来像这样:

id       reg_num
1        DD1111
2        DD1112
3        DE2245
4        EE5678
5        EF6547

我到目前为止的SQL看起来像这样:

select *
from vehicles
where reg_num >= 'DD'   -- this value is user supplied
and reg_num <= 'DE'     -- and so is this one

应该(按我的想法)返回:

1        DD1111
2        DD1112
3        DE2245

但相反,只返回:

1        DD1111
2        DD1112

我想,SQL服务器看到"DE2245"作为比"德"更大,因此排除了该行.

我的问题:如何让SQL服务器包含以'DE'开头的所有行?



1> Otávio Décio..:

您必须在最后添加'zzzz',以匹配您的列宽定义.

 select * from vehicles 
 where reg_num  >= 'DD' and reg_num <= 'DE' + 'ZZZZZZZZZZZZ'



2> Learning..:
where reg_num >= @userValueFrom 
and left(reg_num,char_length(@userValueTo) <= @userValueTo

但请注意,这其中不使用,因为在特区政府的列的函数中的任何指标.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有