私はこのコードを持っています
CREATE OR REPLACE FUNCTION test_func( str CHARACTER VARYING ) RETURNS CHARACTER VARYING
AS $$
BEGIN
str := CAST(str AS INTEGER);
IF str > 4 THEN
RETURN 'YES';
ELSE
RETURN 'NO';
END IF;
END;
$$
LANGUAGE plpgsql;
次に、この関数を呼び出すとSELECT test_func('9')
返されたエラー: operator does not exist: character varying > integer
なぜこれが起こったのですか?str
として変換されないのはなぜINTEGER
ですか?