Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql日期在哪里?_Mysql_Stored Procedures - Fatal编程技术网

Mysql日期在哪里?

Mysql日期在哪里?,mysql,stored-procedures,Mysql,Stored Procedures,这是我的存储过程 DELIMITER $$ DROP PROCEDURE IF EXISTS `simplesign`.`GetTenantTaskBetweenDate` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `GetTenantTaskBetweenDate`( IN tid VARCHAR(100), IN fromdate DATE , IN todate DATE, IN searchvalue VAR

这是我的存储过程

DELIMITER $$
DROP PROCEDURE IF EXISTS `simplesign`.`GetTenantTaskBetweenDate` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetTenantTaskBetweenDate`(
   IN tid VARCHAR(100), 
   IN fromdate DATE ,
   IN todate DATE, 
   IN searchvalue VARCHAR(100)
)
BEGIN
   SELECT RequestID 
     FROM task 
    WHERE ( (TenantID=tid) 
      AND Create_date BETWEEN fromdate AND todate) 
      AND (File_name LIKE searchvalue || File_title LIKE searchvalue) 
    ORDER BY Create_date DESC;
END $$ 
DELIMITER ;
在以下情况下,我希望所有ReuestID都来自任务表:

如果fromdate和todate为空,则按searchValue搜索 如果fromdate、todate和searchValue不为null,则按所有三个输入进行搜索 如果from fromdate或todate为空,则按searchValue搜索 如果searchValue为空,则按fromdate和todate进行搜索 如果三个输入都为空,则正常搜索,如select*from
请帮我解决这个问题。

听起来,如果传递的所有条件都不是空的,您就不想使用它们

DELIMITER $$
DROP PROCEDURE IF EXISTS `simplesign`.`GetTenantTaskBetweenDate` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetTenantTaskBetweenDate`(
   IN tid VARCHAR(100), 
   IN fromdate DATE ,
   IN todate DATE, 
   IN searchvalue VARCHAR(100)
)
BEGIN
   SELECT RequestID 
     FROM task 
    WHERE (tid is null OR TenantID=tid)
      AND (fromdate is null OR Create_date >= fromdate) 
      AND (todate is null OR Create_date <= todate)
      AND (searchvalue is null OR File_name LIKE searchvalue OR File_title LIKE searchvalue) 
    ORDER BY Create_date DESC;
END $$ 
DELIMITER ;

感谢您的快速响应,它只适用于日期,如果我传递空白搜索值,那么它将返回0条记录。:1+用于快速响应…:如果您需要发送除null以外的任何内容作为输入,那么您需要更改条件,以与null相同的方式忽略空字符串。