Mysql 使sql select语句贯穿全年
我有一个sql select语句,如下所示:Mysql 使sql select语句贯穿全年,mysql,Mysql,我有一个sql select语句,如下所示: select * from orders where user_id = '1578' and delivery_fee = '2000' 我只想取今年(2017年)的日期,我有一个名为“created_at”的变量,它有这样的变量 2017-02-0312:00:00 select * from orders where user_id = '1578' and delivery_fee = '2000' and created_at LIK
select * from orders where user_id = '1578' and delivery_fee = '2000'
我只想取今年(2017年)的日期,我有一个名为“created_at”的变量,它有这样的变量
2017-02-0312:00:00
select * from orders where user_id = '1578' and delivery_fee = '2000' and created_at LIKE 'date(Y)%'
但它不起作用,有人能帮忙吗?你可以这样做:
select * from orders where user_id = '1578' and delivery_fee = '2000' and created_at > '2017-01-01 21:00:00'
如果订单是在2017年之后创建的,则将返回用户1578和送货费=2000的订单
select * from orders where user_id = '1578' and delivery_fee = '2000' and created_at > '2017-01-01 21:00:00'
将返回用户1578和送货费=2000的订单,订单在2017年之后创建,请尝试:
SELECT * FROM orders WHERE user_id = '1578' AND delivery_fee = '2000' AND YEAR(`created_at`) = 2017
要了解的想法和资源:
更新 我假设创建的_是timestamp或DATETIME
SELECT * FROM `orders` WHERE user_id = '1578' AND delivery_fee = '2000' AND DATE_FORMAT(created_at, '%Y') = YEAR(CURDATE())
有关参考信息,请参见此处的对话:请尝试以下内容:
SELECT * FROM orders WHERE user_id = '1578' AND delivery_fee = '2000' AND YEAR(`created_at`) = 2017
要了解的想法和资源:
更新 我假设创建的_是timestamp或DATETIME
SELECT * FROM `orders` WHERE user_id = '1578' AND delivery_fee = '2000' AND DATE_FORMAT(created_at, '%Y') = YEAR(CURDATE())
有关参考信息,请参见此处的对话:我能不能不放2017?所以我不必每年都改变它?这就是为什么我想写“Y”我能不能不写?所以我不必每年都改变它?这就是为什么我想把“Y”放在这里,我希望这一年是动态的,总是能捕捉到这一年。很简单,你可以使用串联,
。。。交付费='2000'并在>“+$year+”-01-01 21:00:00…”创建。
我希望年份是动态的,要始终捕获今年。简单地说,您可以使用串联,。。。交付费='2000'和创建时间>“+$year+”-01-01 21:00:00…”
您是否使用datetime或varchars作为创建时间的数据类型?是的,我以前使用过,但在@SahilManchanda不起作用您是否使用datetime或varchars作为创建时间的数据类型?是的,我以前使用过,但在@SahilManchanda不起作用