提问人:Ryan Barrett 提问时间:10/10/2019 更新时间:10/10/2019 访问量:24
如何将函数变量放入引号中并返回每个结果行的结果
How to get a function variable into quotes and to return per result row result
问:
我有一个 MYSQL 函数“isStat”,它以日期作为输入,我正在尝试了解如何引用表或变量名称,以便可以在查询中使用它来设置结果值“AS 列”
当我直接运行我的函数时,我得到了预期的布尔返回值,所以我知道它正在工作。现在,我想在另一个查询中使用该函数,并将每个行项的“isStatDate”作为列返回。起初,我认为这是将我的表列作为 SELECT 上的函数输入时“或”引号的问题。过去和现在都是(也许不是我唯一的误解)。
我想在我的查询中使用我的 isStat 函数 select 调用创建一个结果列,但我不知道如何为该函数正确引用它......请指教!
尝试在列名周围使用CONCAT引号,尝试在列名周围使用QUOTE,尝试CONCAT创建一个变量并将其放在函数调用中(CONCAT日期值对于每行项目日期都是正确的,但内联函数仍然不会让步)。
SELECT isStat("2019-09-09") AS isStatDate; //works
SELECT isStat('2019-09-09') AS isStatDate; //works
SELECT isStat(2019-09-09); //returns always false
SELECT thisID, thisStartDate, isStat(thisStartDate) AS isStatDate FROM sometable WHERE somecriteria=something ORDER BY whatever DESC; // also returns false for isStatDate
SELECT thisID, thisStartDate, isStat(CONCAT('"',thisStartDate,'"')) AS isStatDate FROM sometable WHERE somecriteria=something ORDER BY whatever DESC; // also returns false for isStatDate
SELECT thisID, thisStartDate, isStat(QUOTE(thisStartDate)) AS isStatDate FROM sometable WHERE somecriteria=something ORDER BY whatever DESC; // also returns false for isStatDate
SELECT thisID, @thisdate:=thisStartDate, CONCAT('"',@thisdate,'"'),isStat(@thisdate) AS isStatDate FROM sometable WHERE somecriteria=something ORDER BY whatever DESC; // also returns false for isStatDate
SELECT isStat(CONCAT('"',2019-09-09,'"')) AS isStatDate; // does not return the expected result
SELECT isStat(QUOTE(2019-09-09)) AS isStatDate; // does not return the expected result
答: 暂无答案
评论
lg_client_shifts