SQL''>附近的语法不正确从出生日期算出年龄

时间:2017-01-06 06:21:27

标签: mysql asp.net

我正在尝试从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");

3 个答案:

答案 0 :(得分:1)

像这样更改你的代码,希望这对你有用。

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");

答案 1 :(得分:0)

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");

答案 2 :(得分:0)

function getItem(value1, value2, value3) {
    var firstValues = {
        a : function() {
            return "a";
        }
        ....
    }
    var secondValues = {
        i : function() {
            return "i";
        }
        ....
    }
    var thirdValues = {
        1 : function() {
            return "1";
        }
        ....
    }
    var final = {
        Field1 : firstValues[value1](),
        Field2 : secondValues[value2](),
        Field3 : thirdValues[value3](),
    }
    return final;
}

仍有同样的问题