请教SQL时间段convert用法

设计手 2017-10-12 01:18:07

SELECT * FROM `UserTable` WHERE convert(char(10),Time,120) <="2017-09-01" and convert(char(10),Time,120) >="2017-10-10"


这样怎么查不出数据?
...全文
629 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
设计手 2017-10-12
  • 打赏
  • 举报
回复
晕倒 其他地方错了 多谢楼上几个大侠的热情帮助,感激不尽!
设计手 2017-10-12
  • 打赏
  • 举报
回复
time是日期类型 存入进去的格式:date('Y-m-d H:i:s',time()) 数据库字段是:detetime
设计手 2017-10-12
  • 打赏
  • 举报
回复
奇怪,截止日期没有问题 起始日期不对头, 比如我要查2017-09-06开始到2017-09-30的时间段 总是会把2017-09-05的数据查到,怎么回事了?
二月十六 版主 2017-10-12
  • 打赏
  • 举报
回复
引用 8 楼 zyw147 的回复:
反了。。刚才才被楼上的纠正过。。忘了 正确如下

SELECT * FROM `UserTable` WHERE date_format(Time,'%Y-%m-%d') >="2017-09-01" and date_format(Time,'%Y-%m-%d')<="2017-10-10"
这样没问题吧?测试了几个日期段都没问题
如果time是日期类型的话不用进行转变直接比较就行,如果不是的话,需要这样做。
设计手 2017-10-12
  • 打赏
  • 举报
回复
反了。。刚才才被楼上的纠正过。。忘了 正确如下

SELECT * FROM `UserTable` WHERE date_format(Time,'%Y-%m-%d') >="2017-09-01" and date_format(Time,'%Y-%m-%d')<="2017-10-10"
这样没问题吧?测试了几个日期段都没问题
设计手 2017-10-12
  • 打赏
  • 举报
回复


SELECT * FROM `UserTable` WHERE date_format(Time,'%Y-%m-%d') <="2017-09-01" and date_format(Time,'%Y-%m-%d') >="2017-10-10"
date_format好用啊 这样写对了吧?
二月十六 版主 2017-10-12
  • 打赏
  • 举报
回复
如果Time是达特time类型,可以试试这个:
SELECT * FROM `UserTable` WHERE `Time` between '2017-09-01' and '2017-10-10'
设计手 2017-10-12
  • 打赏
  • 举报
回复
那请教怎么写? between可以吗?
二月十六 版主 2017-10-12
  • 打赏
  • 举报
回复
mysql 的convert可以加三个参数? 楼主可以使用日期函数来处理这样的判断,字符串判断可能会不准确。
设计手 2017-10-12
  • 打赏
  • 举报
回复
不会吧? 按你这样也报错了。。 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
听雨停了 2017-10-12
  • 打赏
  • 举报
回复
引用 楼主 zyw147 的回复:

SELECT * FROM `UserTable` WHERE convert(char(10),Time,120) <="2017-09-01" and convert(char(10),Time,120) >="2017-10-10"
这样怎么查不出数据?
你这条件是不是写错了,小于等于<= "2017-09-01"又要大于等于>="2017-10-10"。这样怎么能查出数据啊,有哪个日期是在这个条件里的啊,应该是 >= "2017-09-01" AND <= "2017-10-10"这样吧
顺势而为1 2017-10-12
  • 打赏
  • 举报
回复
楼主日期大小写反了


SELECT * 
FROM `UserTable` 
WHERE convert(char(10),Time,120) <='2017-10-10'
     and convert(char(10),Time,120) >='2017-09-01'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧