切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
Postgre SQL
postgresql-常量
postgresql-常量
2020-06-02
Postgre SQL
前端之家
前端之家
收集整理的这篇文章主要介绍了
postgresql-常量
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
4.1.2.2. 美元符包围字串常量 尽管声明字串常量的标准
方法
通常都很方便,但是如果字串包含很多单引号或者反斜杠, 那么理解字串的
内容
可能就会变得很苦涩,因为每个单引号都要加倍。 为了让这种场合下的
查询
更具可读性,Postgre
sql
允许另外一种称作"美元符包围"的字串常量声明办法。 一个通过美元符包围声明的字串常量由一个美元符号($),一个可选的零个或多个字符"记号", 另外一个美元符号,一个组成字串常量的任意字符的序列,一个美元符号,以及一个和开始这个美元符包围的记号相同的记号,和一个美元符号组成。 比如,下面是两个不同的
方法
,用美元符包围声明了前面的例子: $$Dianne's horse$$ $So
Meta
g$Dianne's horse$So
Meta
g$ 请注意,在美元符包围的字串里,单引号可以不用逃逸使用。 实际上,在一个美元符包围的字串里,没有什么字符需要逃逸: 字串
内容
总是按照字面
内容
写。反斜杠不是特殊的, 美元符自己也不是特殊的,除非它们和开
标签
的一部分匹配。 我们可以通过在不同嵌套级别使用不同的美元符引号字串常量来实现嵌套。 最常见的是写
函数
定义的时候。比如: $function$ BEGIN RETURN ($1 ~ $q$[\t\r\n\v\\]$q$); END; $function$ 这里,序列 $q$[\t\r\n\v\\]$q$ 表示一个美元符包围的字串文本 [\t\r\n\v\\], 在
函数
体被 Postgre
sql
执行的时候,它将被识别出来。 但是因为这个序列不匹配外层的美元符分隔符$function$, 所以只要考虑了外层字串,它就只是常量里面的一些额外的字符而已。 如果有
标签
的话,一个美元符包围的字串遵循和无引号包围的标识符相同的规则, 只是它不能包含美元符。
标签
是大小写相关的,因此 $tag$String content$tag$ 是正确的,而 $TAG$String content$tag$ 不对。 一个后面跟着关键字或者标识符的美元包围的字串必须用空白隔开; 否则美元符包围分隔符将会被认为前面标识符的一部分。 美元符包围不是
sql
标准,但是在写复杂的字串文本的时候,它通常比标准的单引号语法更方便。 尤其是在其它常量里表现字串常量的时候更有用,比如经常在过程
函数
定义里面的。 如果用单引号语法,每个上面例子里的反斜杠都必须写四个,它们在作为字串文本分析的时候会减少为两个, 然后在
函数
执行的时候在内层字串常量里会再次被解析为一个。 4.1.2.3. 位串常量 位串常量看起来很象在开引号前面有一个 B (大写或小写)的普通字符串(它们之间没有空白), 比如 B'1001'。位串常量里可以用的字符只有 0 和 1。 另外,位串常量可以用十六进制表示法声明,
方法
是使用前缀的 X (大写或者小写),比如,X'1FF'。 这种表示法等效于一个每个十六进制位四个二进制位的位串常量。 两种形式的位串常量都可以象普通字串常量那样跨行连续。 美元符包围不能用于位串常量。 4.1.2.4. 数值常量 数值常量接受下列通用的形式: digits digits.[digits][e[+-]digits] [digits].digits[e[+-]digits] digitse[+-]digits 这里的 digits 是一个或多个十进制位(0 到 9)。 如果有小数点,那么至少有一位在小数点前面或后面。如果出现了指数分隔符(e),那么至少有一个位跟在它后面。 在常量里不能有空格或者其他字符嵌入在内。 请注意任何前导地正号或者负号实际上都不认为是常量的一部分; 它是施加于常量的一个操作符。 这里是一些合法的数值常量的例子: 42 3.5 4. .001 5e2 1.925e-3 如果一个数值常量既不包含小数点,也不包含指数操作符, 那么如果它的数值可以放在integer类型中(32位), 则认为它是integer类型;如果它的数值可以放在 bigint中(64位),则认为它是 bigint; 否则认为它是 numeric类型。包含小数点和/或指数操作符的常量总是被认为是numeric类型。 给一个数值常量赋予初始数据类型只是类型解析算法的开端。 在大多数情况下该常量会根据环境被
自动
强制转换成最合适的类型。 必要时,你可以通过强制类型转换把一个数值解析成特定的数据类型。 比如,你可以强制要求把一个数值当作类型real(float4)来看,
方法
是这么写: REAL '1.23' -- 字串风格 '1.23'::REAL -- Postgre
sql
(历史原因)风格 这些实际上只是下面讨论的通用转换的特例。 4.1.2.5. 其它类型的常量 任意类似的常量可以用下列表示法中的任何一种来输入: type 'string' 'string'::type CAST ( 'string' AS type ) 在字串常量的文本将传递给那种叫 type 的类型的输入转换过程。 结果是这种类型的一个常量。如果不存在该常量所属类型的歧义, 那么明确的类型映射可以省略(比如,当你把它直接赋予一个表字段的时候), 这种情况下它会
自动
转换。 字串常量可以用普通
sql
表示法或者美元符包围来书写。 我们还可以用
函数
样的语法来声明类型转换: typename ( 'string' ) 不过并非所有类型名可以这样使用;参阅 Section 4.2.8
获取
细节。 ::,CAST(),和
函数
调用
语法也可以用于声明任意表达式的运行时类型转换, 如 Section 4.2.8 中讨论的那样。 但是 type 'string' 的形式只能用于声明一个文本常量的类型。 type 'string' 的另外一个限制是它不能用于数组类型;要用 :: 或者 CAST() 声明一个数组常量的类型。 CAST() 语法遵循
sql
。 type 'string' 语法是标准的一个推广:
sql
只是给少数几种数据类型声明了这个语法, 但 Postgre
sql
允许将其用于所有类型。带 :: 的语法是 Postgre
sql
的历史
用法
,
函数
调用
语法也是。
上一篇:postgresql-操作符
下一篇:PostgreSQL入门资料
猜你在找的Postgre SQL相关文章
PosegreSQL基础回顾(第 4 章 SQL语法)
来源:http://www.postgres.cn/docs/11/ 4.1.1. 标识符和关键词 SQL标识符和关键...
作者:前端之家 时间:2020-11-21
PosegreSQL基础回顾(第 8 章 数据类型)
来源:http://www.postgres.cn/docs/11/ 8.1. 数字类型 数字类型由2、4或8字节的...
作者:前端之家 时间:2020-11-21
PosegreSQL基础回顾(第 5 章 数据定义)
来源:http://www.postgres.cn/docs/11/ 5.1. 表基础 SQL并不保证表中行的顺序。...
作者:前端之家 时间:2020-11-21
PosegreSQL基础回顾(第 6 章 数据操纵、第 7 章 查询)
来源:http://www.postgres.cn/docs/11/ 6.4. 从修改的行中返回数据 有时在修改行...
作者:前端之家 时间:2020-11-21
PosegreSQL基础回顾(第 13 章 并发控制)
来源:http://www.postgres.cn/docs/11/ 13.2.1. 读已提交隔离级别 读已提交是Po...
作者:前端之家 时间:2020-11-21
PostgreSQL安装和使用
青岛OJ系统用的关系型数据库是PostgreSQL,为此对PostgreSQL大致了解下。 今天的主要话题围...
作者:前端之家 时间:2020-11-01
PostgreSQL整体架构
作者:前端之家 时间:2020-08-07
为什么选择PostgreSQL而不是MySQL
David Bolton是一名独立开发者,他使用PostgreSQL和MySQL都已有超过十年的时间。近日,他撰...
作者:前端之家 时间:2020-08-07
为什么选择PostgreSQL而不是MySQL
David Bolton是一名独立开发者,他使用PostgreSQL和MySQL都已有超过十年的时间。近日,他撰...
作者:前端之家 时间:2020-08-07
专访唐成:从小工到专家,PostgreSQL的修炼之道
唐成,拥有十几年数据库、操作系统、存储领域的工作经验。目前任沃趣科技首席数据库架构师...
作者:前端之家 时间:2020-08-07
编程分类
MySQL
MsSQL
Oracle
Sqlite
Postgre SQL
Mariadb
MongoDB
NoSQL
HBase
JDBC
最新文章
• PosegreSQL基础回顾(第 4
• PosegreSQL基础回顾(第 8
• PosegreSQL基础回顾(第 5
• PosegreSQL基础回顾(第 6
• PosegreSQL基础回顾(第 13
• PosegreSQL基础回顾(第 9
• PostgreSQL安装和使用
• PostgreSQL整体架构
• 为什么选择PostgreSQL而不
• 为什么选择PostgreSQL而不
热门标签
更多 ►
undo日志
persistent-c
mysql-error-
postal-code
sql-match-al
mysql-5.6
mysql-8.0
database-tri
安装路径
系统错误
data_dir
丢失文件
主从同步
sql_mode
数据库目录
匿名用户
character_se
ID归零
数据库位置
查询表
重复字段
查询字段
截断日志
SUSPECT
7391
Remote Serve
Linked Serve
玄学问题
登录不上
开启远程访问