Mysql 需要datetime SQL语法方面的帮助吗
在TableAdapter配置向导中,我的SQL语句有问题Mysql 需要datetime SQL语法方面的帮助吗,mysql,vb.net,Mysql,Vb.net,在TableAdapter配置向导中,我的SQL语句有问题 SELECT cff.CFNo, cff.RegionalOffice, cffitemstatus.Reason FROM cff, cffitemstatus WHERE cff.RecordNo = cffitemstatus.RecordNo AND (cff.CreatedDate = `YEAR`(CURDATE())) ORDER BY cff.RegionalOffice, cffitemstatus.Reason
SELECT cff.CFNo, cff.RegionalOffice, cffitemstatus.Reason
FROM cff, cffitemstatus
WHERE cff.RecordNo = cffitemstatus.RecordNo
AND (cff.CreatedDate = `YEAR`(CURDATE()))
ORDER BY cff.RegionalOffice, cffitemstatus.Reason
我想根据当前日期筛选特定年份的CreatedDate。所以我使用Year()函数,但执行时,它会提示一条错误消息
下面是我的SQL语句
SELECT cff.CFNo, cff.RegionalOffice, cffitemstatus.Reason
FROM cff, cffitemstatus
WHERE cff.RecordNo = cffitemstatus.RecordNo
AND (cff.CreatedDate = `YEAR`(CURDATE()))
ORDER BY cff.RegionalOffice, cffitemstatus.Reason
需要关于这个问题的指导和建议。您应该学会使用显式的
JOIN
语法。简单规则:切勿在FROM
子句中使用逗号
然后,一种方法是在两个日期使用YEAR()
:
SELECT cff.CFNo, cff.RegionalOffice, cffitemstatus.Reason
FROM cff JOIN
cffitemstatus
ON cff.RecordNo = cffitemstatus.RecordNo
WHERE YEAR(cff.CreatedDate) = YEAR(CURDATE())
ORDER BY cff.RegionalOffice, cffitemstatus.Reason;
您已经在
年份
函数名周围使用了反勾号,只需删除它们,所有内容在语法上都应该很好YEAR(CURDATE())
我希望您还需要将YEAR函数应用于cff.CreatedDate
以及和YEAR(cff.CreatedDate)=YEAR(CURDATE()