【问题标题】:date greater than a specified date (date, month, year)日期大于指定日期(日期、月份、年份)
【发布时间】:2013-10-21 08:03:32
【问题描述】:

对于包含 int 字段日期、月份和年份的数据库表,查询大于指定日期的行的最佳方法是什么?

【问题讨论】:

标签: sql sqlite


【解决方案1】:

你可以这样做:

select dateofbirth from customer Where DateofBirth  BETWEEN date('1004-01-01') AND date('1980-12-31');  

select dateofbirth from customer where date(dateofbirth)>date('1980-12-01');

select * from customer where date(dateofbirth) < date('now','-30 years');

sqlite select with condition on date

【讨论】:

    【解决方案2】:

    通过简单的算术,您可以做出如下选择:

    SELECT * FROM t WHERE year*10000+month*100+day>20131021;
    

    【讨论】:

    • 尽管对于 Android 平台有比您更好的答案,但我发现您的答案对于我将使用您的查询的服务器代码很有用。谢谢你的回答。
    • @SandahAung Humm... 这个解决方案是轻量级的——既不涉及太多逻辑,也不涉及函数调用——并且处理“int 字段”。接受的解决方案如何应用???
    • 对于我的老板来说,接受的解决方案看起来更好,他更喜欢函数调用而不是程序员提供的代码。 (他认为 API 函数更简洁,更不容易出错。)监督服务器端编码器的老板并不介意,所以我在服务器端使用你的代码。
    猜你喜欢
    • 1970-01-01
    • 2017-01-19
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多