在PostgreSQL数据库中使用$$作为字符串的引用符号

参考自: https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html
中的4.1.2.4. Dollar-quoted String Constants部分。


大概意思是:$highgolei$t$highgolei$中的 highgolei是Tag,这Tag可以不要,于是就成了dollar dollar t dollar dollar ,这个dollar dollar t dollar dollar就等于't'
这个Tag啥用?没自己研究。。。

postgres=# select count(*) from pg_class where relkind='t';
 count 
-------
    19
(1 row)


postgres=# select count(*) from pg_class where relkind=$$t$$;
 count 
-------
    19
(1 row)


postgres=# select count(*) from pg_class where relkind=$SomeTag$Dianne's horse$SomeTag$;
 count 
-------
     0
(1 row)


postgres=# select count(*) from pg_class where relkind=$SomeTag$t$SomeTag$;
 count 
-------
    19
(1 row)
postgres=# select count(*) from pg_class where relkind=$highgo$t$highgo$;
 count 
-------
    19
(1 row)


postgres=# select count(*) from pg_class where relkind=$highgolei$t$highgolei$;
 count 
-------
    19
(1 row)


postgres=# select count(*) from pg_class where relkind=$highgo-lei$t$highgo-lei$;
ERROR:  syntax error at or near "$"
LINE 1: select count(*) from pg_class where relkind=$highgo-lei$t$hi...
                                                    ^
postgres=# 



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PostgreSQL 数据库,~ 符号是用于进行正则表达式匹配的操作符。它可以用于 WHERE 子句的模式匹配,以及其他一些字符串操作。 正则表达式是一种强大的模式匹配工具,它可以用来在字符串查找特定模式的文本。使用 ~ 符号,你可以在 PostgreSQL 数据库执行各种复杂的模式匹配操作。 下面是一些常见的 ~ 符号使用案例: 1. 简单模式匹配:你可以使用 ~ 符号来检查一个字符串是否匹配指定的模式。例如,以下查询将返回所有名字以 "J" 开头的人: ```sql SELECT * FROM users WHERE name ~ '^J'; ``` 这里的 `^J` 表示以 "J" 开头的任意字符。 2. 大小写不敏感的匹配:如果你希望匹配时不区分大小写,可以使用 ~* 符号。例如,以下查询将返回所有名字以 "j" 开头的人,不论大小写: ```sql SELECT * FROM users WHERE name ~* '^j'; ``` 3. 反向匹配:你可以使用 !~ 符号来检查一个字符串是否不匹配指定的模式。例如,以下查询将返回所有名字不以 "A" 开头的人: ```sql SELECT * FROM users WHERE name !~ '^A'; ``` 4. 反向、大小写不敏感的匹配:如果你希望进行反向匹配且不区分大小写,可以使用 !~* 符号。例如,以下查询将返回所有名字不以 "a" 开头的人,不论大小写: ```sql SELECT * FROM users WHERE name !~* '^a'; ``` 需要注意的是,正则表达式的语法在 PostgreSQL 与其他语言的正则表达式语法可能略有不同。因此,在使用正则表达式时,请确保熟悉 PostgreSQL 的正则表达式语法规则。 希望以上解释能够帮助到你!如有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值