Я передаю даты как значения, разделенные запятой, например. param1 = 2012-01-12,2013-02-15,2012-12-01, и это будет введено в мою процедуру и как я могу получить значения всех дат, которые передаются в качестве параметра моей процедуре.Передача нескольких дат в процедуре Mysql
Я попытался использовать: выберите значение из таблицы1, где date_value in (param1); но это дает мне пустой набор.
Пожалуйста, скажите мне, как его решить.
Update:
DELIMITER $$
CREATE FUNCTION test2(dates text)
RETURNS text READS SQL DATA
BEGIN
DECLARE abc text;
DECLARE hi text;
SET hi= concat('''',regex_replace('[,]',''',''',dates),'''');
select value into abc from table1 where date_time in (hi);
RETURN abc;
END;
$$
DELIMITER ;
Мой Вклад в этой функции будет несколько дат: например: 2010-12-12,2012-12-10, .....
И моя функция regex_replace вернет мне дату в этом формате: '2010-12-12', '2012-12-10' и установит это переменной и передаст ее.
Но я всегда получаю пустой набор. Где я ошибся?
попробуйте этот param1 = "'2012-01-12', '2013-02-15', '2012-12-01'" – Satya
Нет, это не сработало. есть ли что-нибудь еще, что можно сделать? – DonRaHulk
покажите свою процедуру и процедуру, пожалуйста, – Satya