zoukankan      html  css  js  c++  java
  • 1005.常量

     在PostgreSQL中有三种隐式类型常量:字符串、位串和数字。

    字符串常量:

    在SQL中,一个字符串常量是一个由单引号(')包围的任意字符序列,例如'This is a string'。

    为了在一个字符串中包括一个单引号,可以写两个相连的单引号,例如'Dianne''s horse'。要包括一个反斜线字符,请写两个反斜线(\)

    两个只由空白及至少一个新行分隔的字符串常量会被连接在一起,并且将作为一个写在一起的字符串常量来对待。例如:

    SELECT 'foo'

    'bar';

    等同于:

    SELECT 'foobar';

    如果配置参数standard_conforming_strings为off,那么PostgreSQL对常规字符串常量和转义字符串常量中的反斜线转义都识别。

    不过,从PostgreSQL 9.1 开始,该参数的默认值为on,意味着只在转义字符串常量中识别反斜线转义。

    美元引用的字符串常量

    PostgreSQL提供了另一种被称为“美元引用”的方式来书写字符串常量。

    一个美元引用的字符串常量由一个美元符号($)、一个可选的另个或更多字符的“标签”、另一个美元符号、一个构成字符串内容的任意字符序列、一个美元符号、开始这个美元引用的相同标签和一个美元符号组成。

    例如,这里有两种不同的方法使用美元引用指定字符串“Dianne's horse”:

    $$Dianne's horse$$

    $SomeTag$Dianne's horse$SomeTag$

    一个美元引用字符串的标签(如果有)遵循一个未被引用标识符的相同规则,除了它不能包含一个美元符号之外。

    标签是大小写敏感的,因此$tag$String content$tag$是正确的,但是$TAG$String content$tag$不正确。

    美元引用不是 SQL 标准的一部分,但是在书写复杂字符串文字方面,它常常是一种比兼容标准的单引号语法更方便的方法。

    数字常量

    如果使用了小数点,在小数点前面或后面必须至少有一个数字。

    如果存在一个指数标记(e),在其后必须跟着至少一个数字。

    在该常量中不能嵌入任何空白或其他字符。

    注意任何前导的加号或减号并不实际被考虑为常量的一部分,它是一个应用到该常量的操作符。

    如果一个不包含小数点和指数的数字常量的值适合类型integer(32 位),它首先被假定为类型integer。

    否则如果它的值适合类型bigint(64 位),它被假定为类型bigint。

    再否则它会被取做类型numeric。

    包含小数点和/或指数的常量总是首先被假定为类型numeric。

    必要时,你可以通过造型它来强制一个数字值被解释为一种指定数据类型。例如,你可以这样强制一个数字值被当做类型real(float4):

    REAL '1.23'  -- string style

    1.23::REAL   -- PostgreSQL (historical) style

    带有::的语法是PostgreSQL的历史用法,就像函数调用语法一样。

    CAST()以及函数调用语法也可以被用来指定任意表达式的运行时类型转换。

  • 相关阅读:
    'telnet' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    Linux学习_009_VMware12.0 Pro 中安装 CentOS 6.8_超详解 + 高清大图
    Linux学习_008_Linux下的JDK和OpenJDK有什么具体的区别
    实战CentOS系统部署Hadoop集群服务
    开源多线程性能测试工具-sysbench
    Hadoop集群中Hbase的介绍、安装、使用
    Docker基础技术:Linux Namespace(上)
    带你走进rsync的世界
    5分钟教你Windows 10中将“运行”固定到开始菜单
    使用 Github Pages 发布你的项目文档
  • 原文地址:https://www.cnblogs.com/bufuzhou/p/14170994.html
Copyright © 2011-2022 走看看