sql把两值之和当作条件进行查询

目的:把表中两个字段之和作为where条件进行过滤查询

//查询在没有过期的记录
select a,b from test where a+b>now();// a:存入时间 b:有效期时间段

进行以上查询后,sql会报错。


但是,只要把上面的sql放入到代码中,将now()换成对应语言所获取当前时间戳的方法(如php中 time() ),执行,完美OK!

分析:在sql中直接这样运行,sql会把now()理解为当前的格式化时间,因此,在a+b后直接理解成了普通字符串,并非所理解的时间戳概念,所以,这样运行未能得到想要的结果。

这样理解可能并非正确,有更好的答案欢迎评论交流!

 

posted on 2016-10-14 21:00  爱吃柠檬不加糖  阅读(463)  评论(0编辑  收藏  举报

导航