我试图在从 dob (DATE) 计算它时获取年龄并比较它是否大于 64.但是它得到一个错误 '>' 附近的语法不正确。
以下是代码
sqlStr.Append("SELECT count(CustomerRace) as CustomerCount, CustomerRace");
sqlStr.Append("FROM Customer");
sqlStr.Append("WHERE SELECT DATEDIFF(YYYY,CustomerDOB,GETDATE()) > 64");
sqlStr.Append("GROUP BY CustomerRace");
像这样更改您的代码,希望这对您有用。
sqlStr.Append("SELECT count(CustomerRace) as CustomerCount, CustomerRace ");
sqlStr.Append("FROM Customer ");
sqlStr.Append("WHERE DATEDIFF(YY,CustomerDOB,GETDATE()) > 64 ");
sqlStr.Append("GROUP BY CustomerRace");
Datediff 函数参数计数不正确。在下面使用一个。此外,如果您使用 mysql GETDATE() 函数将无法使用 now() 获取当前日期;
sqlStr.Append("SELECT count(CustomerRace) as CustomerCount, CustomerRace");
sqlStr.Append("FROM Customer");
sqlStr.Append("WHERE DATEDIFF(CustomerDOB, now()) > 64");
sqlStr.Append("GROUP BY CustomerRace");
sqlStr.Append("SELECT count(CustomerRace) as CustomerCount, CustomerRace");
sqlStr.Append("FROM Customer");
sqlStr.Append("WHERE DATEDIFF(yy,CustomerDOB,GETDATE()) > 64");
sqlStr.Append("GROUP BY CustomerRace");
仍然有同样的问题