rabbit15p回答ポイント なしウォッチ 1

MySQLのFUCTIONでSyntaxエラーがでます。助けて下さい。


Version:
MYSQL Ver 14.14 Distrib 5.5.27, for Win32 (x86)

ERROR:
ERROR 1064 (42000) at line 1: 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 'IN P_STRING VARCHAR , IN P_DELIMIT VARCHAR, IN P_POS
INTEGER ) RETURN VARCHAR' at line 1

SQL:

CREATE FUNCTION UsrTOKEN(IN P_STRING VARCHAR , IN P_DELIMIT VARCHAR, IN
P_POS INTEGER )
RETURN VARCHAR
BEGIN
DECLARE P_EOD VARCHAR;
DECLARE P_NTH INTEGER;
DECLARE vStartPos INTEGER;
DECLARE vEndPos INTEGER;
P_EOD := NULL;
P_NTH := 1;
IF (P_POS = 1) THEN
vStartPos := 1;
ELSE
vStartPos := INSTR(P_STRING, P_DELIMIT, 1, P_POS - 1);
IF (vStartPos = 0) THEN
RETURN P_EOD;
END IF;
vStartPos := vStartPos + 1;
END IF;
vEndPos := INSTR(P_STRING, P_DELIMIT, vStartPos, P_NTH);
IF (vEndPos = 0) THEN
RETURN SUBSTR(P_STRING, vStartPos);
END IF;
RETURN SUBSTR(P_STRING, vStartPos, vEndPos - vStartPos);
END;

ログインして回答する

みんなの回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2012-09-12 14:09:38
終了日時
2012-09-19 14:10:03
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

x8688MySQL2612SQL1319Win32142BEGIN96Line1329

人気の質問

メニュー

PC版