我希望有人可以帮助我,我是sql数据库的新手。我有下表:
--------------------------------------
id from to version
---------------------------------------
0 01.01.70 31.12.79 v1
1 01.01.80 31.12.89 v2
现在,我想达到以下行为:
当用户选择某个日期,则版本应返回,其中所选择的用户日期是相应之间from
和to
日期。
例子:
user_date = 01.01.70 ------> v1 should be returned
user_date = 01.01.75 ------> v1 should be returned
user_date = 31.12.79 ------> v1 should be returned
user_date = 01.01.80 ------> v2 should be returned
user_date = 01.01.85 ------> v2 should be returned
user_date = 31.12.89 ------> v2 should be returned
我试过了
select version from versions_table where user_date between from and to;
您将需要将变量传递给查询-根据您的编程语言,这很容易实现。代替 。
select version
from versions_table
where to_date('<myInputDate>', 'dd.mm.yy') between to_date('from', 'mm.dd.yy') and to_date('to', 'mm.dd.yy');
确保用您感兴趣的日期代替(没有脱字符号“ <>”)。
[edit]如果您不更新它们的日期,它将执行字母顺序,这将导致查询问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句