mysql date和datetime 可以直接比较吗

mysql date和datetime 可以直接比较吗,第1张

你是说在数据库里面比较么?

mysql中日期比较大小2012-04-09 21:40可以用到以下两个方法,无论是timestamp还是datetime类型都可以使用

TO_DAYS(date)

给出一个日期date,返回一个天数(从0年的天数)。

mysql> select TO_DAYS(950501);

-> 728779

mysql> select TO_DAYS('1997-10-07');

-> 729669

UNIX_TIMESTAMP(date)

如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一

个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME

字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。

mysql> select UNIX_TIMESTAMP();

-> 882226357

mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');

-> 875996580

select from table where substr(time,'YYYY-MM-DD') > '2010-10-13'

后面的时间你在程序里面就将其转换为这种格式,

1 你用30补充日的信息,如果是二月怎么办,就报错了。

2 当前时间不需要这么复杂TO_DATE(to_char(TRUNC(SYSDATE),'yyyy/mm/dd'), 'yyyy/mm/dd')

TRUNC(SYSDATE) 即可

3 个人理解,你的年、月 字段 应该是数字类型吧,那么一个先转换(如果是字符,则不需转换):

TO_DATE(to_char(Dplan_year) || '/' || to_char(Dplan_month) || '/30', 'yyyy/mm/dd')

我给你一个思路:

当前日期 - (某年某月 第一日 + 1月 - 1日)

其中: 某年某月 第一日 + 1月 即下一月的第一天; 再 -1日 就是某年某月的 最后一天:

select from M_PLAN_INFO D WHERE TRUNC(SYSDATE) - (add_months(TO_DATE(to_char(Dplan_year) || '/' || to_char(Dplan_month) || '/30', 'yyyy/mm/dd'),1) - 1 ) > 30

access里 这句话好像就不好用了

sql="select from [table] where [时间字段]<'2010-03-02 19:02:11'"

在access里 只能这样对时间做比较 你写的那个函数是不好用的

以上就是关于mysql date和datetime 可以直接比较吗全部的内容,包括:mysql date和datetime 可以直接比较吗、c#如何将当前日期与数据库中的日期进行比较、oracle 数据库时间比较,请高手指点一下!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9744811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存