Hep with MySQL stored function

Hi all, I have stored MySQL function and tables (places) and which holds places names. table consis of 2 field. one is ids of places (ids of places is array like string. for ex:“12,16,18,20”) and another is id. Mysql function is below.

CREATE DEFINER = 'root'@'localhost' FUNCTION `is_id_in_ids`(
        `strIDs` VARCHAR(255),
        `_id` BIGINT
    )
    RETURNS BIT(1)
    NOT DETERMINISTIC
    CONTAINS SQL
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN

  DECLARE strLen    INT DEFAULT 0;
  DECLARE subStrLen INT DEFAULT 0;
  DECLARE subs      VARCHAR(255);

  IF strIDs IS NULL THEN
    SET strIDs = '';
  END IF;

  do_this:
    LOOP
      SET strLen = LENGTH(strIDs);
      SET subs = SUBSTRING_INDEX(strIDs, ',', 1);

      if ( CAST(subs AS UNSIGNED) = _id ) THEN
        -- founded
        return(1);
      END IF;

      SET subStrLen = LENGTH(SUBSTRING_INDEX(strIDs, ',', 1));
      SET strIDs = MID(strIDs, subStrLen+2, strLen);

      IF strIDs = NULL or trim(strIds) = '' THEN
        LEAVE do_this;
      END IF;

  END LOOP do_this;

   -- not founded
  return(0);

END

It searchs like this.
SELECT * FROM places WHERE is_id_in_ids(‘1001,1002,1003’,places.id);
It finds if given more fields to search and single id. But in our case our places id is array like string. Let it finds if one or more fields match.
Can anyone help me? Thanks in advance!

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.