您的位置:58脚本 > PostgreSQL pg_cast

PostgreSQL pg_cast

2023-05-23 15:32 PostgreSQL pg_cast

 PostgreSQL pg_cast

目录pg_cast存储数据类型转换路径,包括内建的和用户定义的类型。

需要注意的是,pg_cast并不表示系统知道如何执行的所有类型转换,它只包括哪些不能从某些普通规则推导出的转换。例如,一个域及其基类型之间的转换并未显式地在pg_cast中展示。另一个重要的例外是自动 I/O转换造型,它们通过数据类型自己的I/O函数来转换成(或者转换自) text或其他字符串类型,这些转换也没有显式地在pg_cast中表示。

表 51.10. pg_cast Columns

列类型

描述

oid oid

行标识符

castsource oid (references pg_type.oid)

源数据类型的OID

casttarget oid (references pg_type.oid)

目标数据类型的OID

castfunc oid (references pg_proc.oid)

执行该转换的函数的OID。如果该转换方法不需要一个函数则存储0。

castcontext char

指示该转换能被调用的环境。 e表示仅能作为一个显式转换(使用CAST::语法)。 a表示在赋值给目标列时隐式调用, 和显式调用一样。 i表示在表达式中隐式调用,和其他转换一样。

castmethod char

指示转换如何被执行。 f表明使用castfunc中指定的函数。 i表明使用输入/输出函数。 b表明该类型是二进制可转换的,因此不需要转换。


pg_cast里列出的类型转换函数必须总是以转换的源类型作为它的第一个参数类型, 并且返回转换的目标类型作为它的结果类型。一个类型转换函数最多有三个参数。 如果出现了第二个参数,必须是integer类型;它接受与目标类型关联的修饰词, 如果没有,就是 -1。如果出现了第三个参数,那么必须是boolean类型; 如果该类型转换是一种明确的转换,那么它接受 true,否则接受false

pg_cast里创建一条源类型和目标类型相同的记录是合理的, 只要相关联的函数接受多过一个参数。这样的记录代表长度转换函数, 它们把该类型的值转换为对特定的类型合法的值。

如果一个pg_cast的项有着不同的原类型和目标类型, 并且有一个接收多于一个参数的函数,那么它会在一个步骤中完成从一种类型到另外一种类型的转换并应用一个长度转换。如果没有这样的项,使用一个类型修改器的转换涉及两个步骤, 一个是在数据类型之间转换,另外一个是应用修改器。


阅读全文
以上是58脚本为你收集整理的 PostgreSQL pg_cast全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • vim normal Vimscript Normal命令

    vim normal Vimscript Normal命令

    目前为止我们已经介绍了几个最为常用的Vimscript命令,但都跟日常中在normal模式下处理文本的方式无关。 有没有一种办法能把我们...

  • 放射状渐变 SVG 渐变- 放射性

    放射状渐变 SVG 渐变- 放射性

    SVG 渐变- 放射性 SVG 放射性渐变是从一个点开始发散绘制渐变,创建径向渐变需要在文档的 defs 中添加一个 radialGradient 元素...

  •  XSL-FO region-after 对象

    XSL-FO region-after 对象

    XSL-FO region-after 对象XSL-FO 参考手册定义和用法 fo:region-after 对象定义了页面的底部区域(页脚)。 XSL-FO 使用下列元素...

  •  XSL-FO root 对象

    XSL-FO root 对象

    XSL-FO root 对象XSL-FO 参考手册定义和用法 fo:root 对象是 XSL-FO 文档的根(顶级)节点。 fo:root 对象的子类是一个单独的 fo...

  •  XSL-FO background-attachment 属性

    XSL-FO background-attachment 属性

    XSL-FO background-attachment 属性 XSL-FO 参考手册定义和用法 background-attachment属性的作用是:定义背景图像是固定的还是...

  •  XML Schema selector 元素

    XML Schema selector 元素

    XML Schema selector 元素 完整 XML Schema 参考手册定义和用法 selector 元素指定 XML 路径语言 (XPath) 表达式,该表达式为标...

  •  XPointer 实例

    XPointer 实例

    XPointer 实例 本节中,你将学习使用XPointer 语法。让我们通过研究一个实例来学习一些基础的 XPointer 语法。XPointer 实例 在...

  •  XSLT format-number() 函数

    XSLT format-number() 函数

    XSLT format-number() 函数使用 format-number()函数可以将数字转换成字符串。 完整的 XSLT 函数参考对象定义和用法 format-numb...

  •  XML DOM ownerDocument 属性

    XML DOM ownerDocument 属性

    XML DOM ownerDocument 属性 Element 对象定义和用法 ownerDocument 属性返回选定的元素所属的文档对象。 语法elementNode.owner...

  • javascript 属性 JavaScript NaN 属性

    javascript 属性 JavaScript NaN 属性

    JavaScript NaN 属性 JavaScript 全局函数定义和用法NaN 属性用于引用特殊的非数字值。 该属性指定的并不是不合法的数字。NaN 属...

© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS