List:General Discussion« Previous MessageNext Message »
From:listsql listsql Date:June 21 2006 11:37am
Subject:Re: Split a Delimited String in SQL ( PROCEDURE split_string )
View as plain text  
Definitivaly stopping and going for one or two cups of coffee.
I was logged in to another mysql... when I copied the last email. Sorry
guys, I don't want to add extra non-sense text to the list!
+------------------------------+
| version()                    |
+------------------------------+
| 5.0.22-Debian_1.dotdeb.1-log |
+------------------------------+

Now delimiter works fine, but I still get error trying to create the
procedure ( http://forge.mysql.com/snippets/view.php?id=4 ):

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use
near 'CREATE PROCEDURE split_string (
     IN input TEXT,
     IN delimiter VARCHAR(10' at line 2


Just for the happy comment: Argentina Will win the match tonight against
Holland :)
MARTIN


On 6/21/06, listsql listsql <listsql@stripped> wrote:
>
> Sorry forgot to copy my version:
>
> It's not acepting the delimiter command, can be ? I'm really missing
> something here.
> +-------------------------------+
> | version()                     |
> +-------------------------------+
> | 4.0.24_Debian-10ubuntu2.3-log |
> +-------------------------------+
> mysql> delimiter //
>     -> CREATE PROCEDURE simpleproc (OUT param1 INT)
>     -> BEGIN
>     ->
>     -> SELECT COUNT(*) INTO param1 FROM t;
> ERROR 1064: You have an error in your SQL syntax.  Check the manual that
> corresponds to your MySQL server version for the right syntax to use near
> 'delimiter //
> CREATE PROCEDURE simpleproc (OUT param1 INT)
> BEGIN
>
>
>
> On 6/21/06, listsql listsql <listsql@stripped> wrote:
> >
> > Hi all,
> > I was trying this:
> > http://forge.mysql.com/snippets/view.php?id=4
> >
> > That is supposed to emulate a  split()   in mysql.
> >
> > Could anyone make it work ?
> >
> > I've been trying without luck.  I 'm getting strange errors when trying
> > to create this procedure.
> >
> > _____________________________________
> > DROP PROCEDURE IF EXISTS split_string
> >   CREATE PROCEDURE split_string (
> >      IN input TEXT,
> >      IN delimiter VARCHAR(10)
> >   )
> >       SQL SECURITY INVOKER
> >       BEGIN
> >       DECLARE cur_position INT DEFAULT 1 ;
> >       DECLARE remainder TEXT;
> >       DECLARE cur_string VARCHAR(1000);
> >       DECLARE delimiter_length TINYINT UNSIGNED;
> >       DROP TEMPORARY TABLE IF EXISTS SplitValues;
> >       CREATE TEMPORARY TABLE SplitValues (
> >         value VARCHAR(1000) NOT NULL PRIMARY KEY
> >         ) ENGINE=MEMORY;
> >       SET remainder = input;
> >       SET delimiter_length = CHAR_LENGTH(delimiter);
> >
> >        WHILE CHAR_LENGTH(remainder) > 0 AND cur_position > 0 DO
> >         SET cur_position = INSTR(remainder, delimiter);
> >
> >       IF cur_position = 0 THEN
> >         SET cur_string = remainder;
> >      ELSE
> >         SET cur_string = LEFT(remainder, cur_position - 1);
> >         END IF;
> >
> >       IF TRIM(cur_string) != '' THEN
> >         INSERT INTO SplitValues VALUES (cur_string);
> >      END IF;
> >
> >       SET remainder = SUBSTRING(remainder, cur_position +
> > delimiter_length);
> >
> >       END WHILE;
> >       END
> >
> > __________________________________________________--
> >
> > Best regards,
> > MARTIN
> >
> >
>

Thread
Split a Delimited String in SQL ( PROCEDURE split_string )listsql listsql21 Jun
  • Re: Split a Delimited String in SQL ( PROCEDURE split_string )listsql listsql21 Jun
    • Re: Split a Delimited String in SQL ( PROCEDURE split_string )listsql listsql21 Jun
      • Re: Split a Delimited String in SQL ( PROCEDURE split_string )Jørn Dahl-Stamnes21 Jun
  • RE: Split a Delimited String in SQL ( PROCEDURE split_string )SST - Adelaide)21 Jun
RE: Split a Delimited String in SQL ( PROCEDURE split_string )Gelu Gogancea21 Jun