【问题标题】:What is `AS $$` in sql functions? [duplicate]sql函数中的`AS $$`是什么? [复制]
【发布时间】:2020-09-18 14:11:00
【问题描述】:
CREATE FUNCTION one() RETURNS integer AS $$
    SELECT 1 AS result;
$$ LANGUAGE SQL;

为什么我不能这样写:

CREATE FUNCTION one() RETURNS integer
    SELECT 1 AS result;
  • AS $$ 是什么?
  • 什么是$$ LANGUAGE SQL
  • 什么是$$

【问题讨论】:

标签: sql postgresql dollar-quoting


【解决方案1】:

在 PostgreSQL 中,它是一种称为美元引用的功能,它允许您包含正文而不转义单引号

把它当作

CREATE OR REPLACE FUNCTION hello_world(param_your_name text)
RETURNS text AS
$$
SELECT 'Hello world. My name is ' || param_your_name || '.';
$$
language sql STRICT;

比阅读更容易

CREATE OR REPLACE FUNCTION hello_world(param_your_name text)
RETURNS text AS
'
SELECT ''Hello world. My name is '' || param_your_name || ''.'';
'
language sql STRICT;

在此处阅读更多信息 - https://www.postgresonline.com/journal/archives/376-Dollar-quoting-for-escaping-single-quotes.html

【讨论】:

    猜你喜欢
    • 2018-09-19
    • 2020-07-31
    • 2015-10-20
    • 1970-01-01
    • 2018-03-01
    • 2011-06-15
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多