目的:把表中两个字段之和作为where条件进行过滤查询
//查询在没有过期的记录select a,b from test where a+b>now();// a:存入时间 b:有效期时间段
进行以上查询后,sql会报错。
但是,只要把上面的sql放入到代码中,将now()换成对应语言所获取当前时间戳的方法(如php中 time() ),执行,完美OK!
分析:在sql中直接这样运行,sql会把now()理解为当前的格式化时间,因此,在a+b后直接理解成了普通字符串,并非所理解的时间戳概念,所以,这样运行未能得到想要的结果。
这样理解可能并非正确,有更好的答案欢迎评论交流!
时间: 2024-10-12 21:27:09