von bertol » Di 18. Mai 2010, 16:22
Ich habe eine SQL-Funktion geschrieben mit der geht zumindes jedes wort und jedes wort getrennt durch -
DELIMITER ;
DROP FUNCTION IF EXISTS UpLower;
DELIMITER $$
CREATE FUNCTION UpLower (str VARCHAR(255))
RETURNS VARCHAR(255)
Begin
DECLARE lowtext VARCHAR(255);
DECLARE uplowtext VARCHAR(255);
DECLARE tmptext VARCHAR(255);
DECLARE searchtext VARCHAR(1);
DECLARE spacepos INT;
DECLARE spacespos INT;
IF ISNULL(str) THEN RETURN NULL;END IF;
SET lowtext = LOWER(str);
SET uplowtext = CONCAT(UPPER(LEFT(lowtext,1)),MID(lowtext,2));
SET tmptext = uplowtext;
SET searchtext = ' ';
SET spacepos = INSTR(tmptext, searchtext);
SET spacespos = spacepos;
WHILE spacepos > 0 or searchtext =' ' DO
SET tmptext = MID(tmptext,spacepos + 1);
SET tmptext = CONCAT(UPPER(LEFT(tmptext,1)),MID(tmptext,2));
SET uplowtext = CONCAT(LEFT(uplowtext,spacespos ),tmptext);
SET spacepos = INSTR(tmptext, searchtext);
SET spacespos = spacespos + spacepos;
IF spacepos = 0 and searchtext = ' ' then
SET tmptext = uplowtext;
SET searchtext = '-';
SET spacepos = INSTR(tmptext, searchtext);
SET spacespos = spacepos;
END IF;
END WHILE;
RETURN uplowtext;
END$$
DELIMITER ;
Ich habe eine SQL-Funktion geschrieben mit der geht zumindes jedes wort und jedes wort getrennt durch -
[code]DELIMITER ;
DROP FUNCTION IF EXISTS UpLower;
DELIMITER $$
CREATE FUNCTION UpLower (str VARCHAR(255))
RETURNS VARCHAR(255)
Begin
DECLARE lowtext VARCHAR(255);
DECLARE uplowtext VARCHAR(255);
DECLARE tmptext VARCHAR(255);
DECLARE searchtext VARCHAR(1);
DECLARE spacepos INT;
DECLARE spacespos INT;
IF ISNULL(str) THEN RETURN NULL;END IF;
SET lowtext = LOWER(str);
SET uplowtext = CONCAT(UPPER(LEFT(lowtext,1)),MID(lowtext,2));
SET tmptext = uplowtext;
SET searchtext = ' ';
SET spacepos = INSTR(tmptext, searchtext);
SET spacespos = spacepos;
WHILE spacepos > 0 or searchtext =' ' DO
SET tmptext = MID(tmptext,spacepos + 1);
SET tmptext = CONCAT(UPPER(LEFT(tmptext,1)),MID(tmptext,2));
SET uplowtext = CONCAT(LEFT(uplowtext,spacespos ),tmptext);
SET spacepos = INSTR(tmptext, searchtext);
SET spacespos = spacespos + spacepos;
IF spacepos = 0 and searchtext = ' ' then
SET tmptext = uplowtext;
SET searchtext = '-';
SET spacepos = INSTR(tmptext, searchtext);
SET spacespos = spacepos;
END IF;
END WHILE;
RETURN uplowtext;
END$$
DELIMITER ;
[/code]