将 VB Date() 和 DateAdd 函数转换为 PHP
Posted
技术标签:
【中文标题】将 VB Date() 和 DateAdd 函数转换为 PHP【英文标题】:Convert VB Date() and DateAdd functions to PHP 【发布时间】:2015-05-06 00:22:03 【问题描述】:我有一个简单的 VBA 函数,它显示从当前日期到 21 天前的记录。
WHERE date_added between Date() and DateAdd('d', -21, Date())
当我运行上面的代码时,我得到了这个错误:
“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ') 和 DateAdd('d', -21, Date())' 附近使用正确的语法"
【问题讨论】:
只使用同一个mysql查询! @Alex:他可能在问DateAdd
部分;该代码是 SQL 和 VB 的奇怪组合,没有任何区别,可能是因为它实际上是 Access VBA,而不是 VB.NET 或 VBScript。
@NathanTuggy 也许吧。但我们有DATEDIFF
和mysql。但他不是在询问 mysqlsql 转换,而是在询问 vbphp ;-) :-)
@Alex:您确定 SQL 方言差异和宿主语言差异之间的区别是清楚的吗?因为作为一名 Access 程序员,我不会对有人犯我所描述的错误感到惊讶。
我确信任何 sql 查询都与编程语言完全隔离。因此您始终可以从任何具有驱动程序的语言访问 Access db。您可以从 php 或 VB 请求任何 sql server MS SQL、MySQL 或 Oracle 或任何其他。
【参考方案1】:
在 MySQL 方言中,你想要
WHERE date_added BETWEEN CURDATE() - INTERVAL 21 DAY
AND CURDATE()
请注意,仅当 date_added 是 DATE 数据类型时,这才能正常工作。如果它有你想要的时间组件
WHERE date_added >= CURDATE() - INTERVAL 21 DAY
AND date_added < CURDATE() + INTERVAL 1 DAY
【讨论】:
以上是关于将 VB Date() 和 DateAdd 函数转换为 PHP的主要内容,如果未能解决你的问题,请参考以下文章