各位 大侠,请问这个我弄错了吗,有个字段payment_time,时间格式2015-12-23 19:16:07 ,我要查询把后面时间去掉,变成2015-12-23 这个格式,然后统计每天id数量,我在网上搜索到下面的这个转换日期的代码,我自己添加的count(id),但是不知道为什么不是我想要的结果,哪里不对吗?
SELECT substring(Convert(VARCHAR(30), payment_time, 120),1,10) as 日期 , count(id)
from m_order
group by payment_time
group by应该用截掉时间的字符串
select * from ApplyInfo join Users on ApplyInfo.ApplyMan=Users.UserId where convert(varchar(10),ApplyDate,120)='2008-03-14'--sql server中查询与日期相等的方法。
select * from ApplyInfo join Users on ApplyInfo.App......
答案就在这里:sql server中日期查询
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
用的mysql——》
①
select DATE_FORMAT('2015-12-23 19:16:07','%Y-%m-%d')可以满足你的日期转化。
②
另外:你的SQL语句可以这样优化:
SELECT DATE_FORMAT(payment_time, '%Y%m%d') , count(id)
from m_order
group by payment_time
这里的日期是一直在增长的,直接转化排序就OK,项目中我都是这样做的,希望能帮到你。
SELECT substring(Convert(VARCHAR(30), payment_time, 120),1,10) as 日期 , count(id)
from m_order
group by substring(Convert(VARCHAR(30), payment_time, 120),1,10)
这样写可以