大佬教程收集整理的这篇文章主要介绍了PHP-当前日期与数据库中存储的日期之间的差异不起作用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表,其中包含名为timestamp的列,该列以秒为单位存储记录的创建日期时间(使用strtotime()从Date()转换datetime值).我需要获取创建日期大于72小时的记录,以便删除这些记录.
我的表包含以下列:
userid(int)
timestamp(storing created dates in seconds)eg:'1427886372'
我已经使用以下查询
SELECT DATEDIFF(HOUR,timestamp,'current date in seconds')>72 FROM table_name.
它不起作用.我也想知道,是否有任何选项可以将sql中的GETDATE()结果转换为秒,就像PHP中的strtotime()一样,因为我使用PHP Date()获取当前日期,并使用strtotime将其转换为秒().
SELECT * FROM PRTL_UsrHashKeys where
DATEDIFF(HOUR,timestamp, DATEDIFF(second, '1970-01-01', GETDATE()))>72
但是它显示的是在需要条件的上下文中指定的非布尔类型的表达式,在’)’附近.
解决方法:
您可以通过简单的语句将GETDATE()的输出转换为unix时间戳:
SELECT GETDATE(), DATEDIFF(second, '1970-01-01', GETDATE())
您可以使用其他时间戳记源(例如某些PHP函数)检查结果.反之则有点困难.
How can I convert bigint (UNIX timestamp) to datetime in SQL Server?
为什么在sql Server中使用unix时间戳?它对此没有支持.功能DATEDIFF,DATEADD等仅适用于实际日期,不适用于Unix时间戳秒.
以上是大佬教程为你收集整理的PHP-当前日期与数据库中存储的日期之间的差异不起作用全部内容,希望文章能够帮你解决PHP-当前日期与数据库中存储的日期之间的差异不起作用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。