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();

本文介绍了SQL中函数定义的$tag$用法,如在创建f_guid()函数时包裹函数体,以及在字符串中避免单引号冲突的技巧。通过示例展示了如何在函数返回值中使用带有单引号的字符串,以及如何使用$$替代单引号。这些技巧对于编写高效且可读性强的SQL代码至关重要。
2734

被折叠的 条评论
为什么被折叠?



