2016-07-04 3 views
-1

인수를 반환하는 방법은 무엇입니까? 단일 문자열을 반환하는 방법? 나는 이것을 시도했지만 오류가 발생한다.mysql에서 문자열 (varchar)을 반환하는 방법 UDF

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 'DETERMINISTIC 
RETURN 'a'' at line 2 

"DETERMINISTIC"이 문제라고 생각하지 않는다. 인수를 반환하려면 :

DROP FUNCTION IF EXISTS `test_foo`; 
CREATE FUNCTION test_foo (a VARCHAR(1)) 
RETURNS VARCHAR DETERMINISTIC 
RETURN a 

단일 문자열을 반환하려면

DROP FUNCTION IF EXISTS `test_foo`; 
CREATE FUNCTION test_foo() 
RETURNS VARCHAR DETERMINISTIC 
RETURN 'a' 

답변

0

당신은 그것의 길이없이 VARCHAR을 사용할 수 없습니다. 문서 당으로

:

The CHAR and VARCHAR Types

는 CHAR 및 VARCHAR 유형 저장하려는 최대 문자 수를 나타내는 길이가 선언됩니다. 예를 들어, CHAR (30)은 최대 30 자까지 입력 할 수 있습니다.

따라서 다음과 같이 함수 정의를 변경하면 제대로 작동해야합니다.

DROP FUNCTION IF EXISTS test_foo; 

CREATE FUNCTION test_foo (a VARCHAR(1)) 
RETURNS VARCHAR(1) DETERMINISTIC 
RETURN a; 
관련 문제