1、$ 表示输入参数的定义
select $1;
2、$tag$ 用在函数中,用来包裹函数体的定义。tag可以是任意字母组成的字符串,不要包含特殊字符就行。
CREATE OR REPLACE FUNCTION f_guid()
RETURNS character varying
LANGUAGE plpgsql
AS $這是函數體的標籤$
begin
return UPPER(REPLACE(gen_random_uuid()::text, '-', ''));
end
$這是函數體的標籤$;
select * from f_guid();
3、$tag$ 用在sql中,可用来替代单引号,此时标签中可正常书写单引号,否则需要加倍转义
CREATE OR REPLACE FUNCTION f_guid()
RETURNS character varying
LANGUAGE plpgsql
AS $這是函數體的標籤$
begin
-- return UPPER(REPLACE(gen_random_uuid()::text, '-', ''));
return $不能與函數體的標籤一樣$這個字符串中可以正常使用'號,例如I'm Tom.$不能與函數體的標籤一樣$;
end
$這是函數體的標籤$;
select * from f_guid();
或者在字符串中加倍使用单引号
CREATE OR REPLACE FUNCTION f_guid()
RETURNS character varying
LANGUAGE plpgsql
AS $$
begin
-- return UPPER(REPLACE(gen_random_uuid()::text, '-', ''));
return '這個字符串需要加倍使用''號,例如I''m Tom.';
end
$$;
select * from f_guid();