1
私は整数を返すために働いてこれを得た:Postgres関数から文字列リテラルを返すにはどうすればよいですか?
CREATE FUNCTION my_function() RETURNS INTEGER AS $$
SELECT 1 AS result;
$$ LANGUAGE SQL;
をしかし、私は、それは文字列を返すようにしたいので、私はそれを微調整:
CREATE FUNCTION my_function() RETURNS TEXT AS $$
SELECT '1' AS result;
$$ LANGUAGE SQL;
しかし、これはで失敗します。
ERROR: return type mismatch in function declared to return text
DETAIL: Actual return type is unknown.
何が起こったのですか?どのように文字列 '1'を返すことができますか?
'1'は、デフォルトではvarcharです。明示的な型キャストを指定する必要があります。 CREATE FUNCTION my_function()RETURNS TEXT AS $$ SELECT '1' :: TEXT AS result; $$ LANGUAGE SQL; –
@IlyaDyoshin - あなたのコメントは一般的ですが、 '1'はデフォルトで 'unknown'と表示されます –