目录pg_cast
存储数据类型转换路径,包括内建的和用户定义的类型。
需要注意的是,pg_cast
并不表示系统知道如何执行的所有类型转换,它只包括哪些不能从某些普通规则推导出的转换。例如,一个域及其基类型之间的转换并未显式地在pg_cast
中展示。另一个重要的例外是“自动 I/O转换造型”,它们通过数据类型自己的I/O函数来转换成(或者转换自)
text
或其他字符串类型,这些转换也没有显式地在pg_cast
中表示。
表 51.10. pg_cast
Columns
列类型 描述 |
---|
行标识符 |
源数据类型的OID |
目标数据类型的OID |
执行该转换的函数的OID。如果该转换方法不需要一个函数则存储0。 |
指示该转换能被调用的环境。 |
指示转换如何被执行。 |
在pg_cast
里列出的类型转换函数必须总是以转换的源类型作为它的第一个参数类型, 并且返回转换的目标类型作为它的结果类型。一个类型转换函数最多有三个参数。 如果出现了第二个参数,必须是integer
类型;它接受与目标类型关联的修饰词, 如果没有,就是 -1。如果出现了第三个参数,那么必须是boolean
类型; 如果该类型转换是一种明确的转换,那么它接受
true
,否则接受false
。
在pg_cast
里创建一条源类型和目标类型相同的记录是合理的, 只要相关联的函数接受多过一个参数。这样的记录代表“长度转换函数”, 它们把该类型的值转换为对特定的类型合法的值。
如果一个pg_cast
的项有着不同的原类型和目标类型, 并且有一个接收多于一个参数的函数,那么它会在一个步骤中完成从一种类型到另外一种类型的转换并应用一个长度转换。如果没有这样的项,使用一个类型修改器的转换涉及两个步骤, 一个是在数据类型之间转换,另外一个是应用修改器。
目前为止我们已经介绍了几个最为常用的Vimscript命令,但都跟日常中在normal模式下处理文本的方式无关。 有没有一种办法能把我们...
SVG 渐变- 放射性 SVG 放射性渐变是从一个点开始发散绘制渐变,创建径向渐变需要在文档的 defs 中添加一个 radialGradient 元素...
XSL-FO region-after 对象XSL-FO 参考手册定义和用法 fo:region-after 对象定义了页面的底部区域(页脚)。 XSL-FO 使用下列元素...
XSL-FO root 对象XSL-FO 参考手册定义和用法 fo:root 对象是 XSL-FO 文档的根(顶级)节点。 fo:root 对象的子类是一个单独的 fo...
XSL-FO background-attachment 属性 XSL-FO 参考手册定义和用法 background-attachment属性的作用是:定义背景图像是固定的还是...
XML Schema selector 元素 完整 XML Schema 参考手册定义和用法 selector 元素指定 XML 路径语言 (XPath) 表达式,该表达式为标...
XPointer 实例 本节中,你将学习使用XPointer 语法。让我们通过研究一个实例来学习一些基础的 XPointer 语法。XPointer 实例 在...
XSLT format-number() 函数使用 format-number()函数可以将数字转换成字符串。 完整的 XSLT 函数参考对象定义和用法 format-numb...
XML DOM ownerDocument 属性 Element 对象定义和用法 ownerDocument 属性返回选定的元素所属的文档对象。 语法elementNode.owner...
JavaScript NaN 属性 JavaScript 全局函数定义和用法NaN 属性用于引用特殊的非数字值。 该属性指定的并不是不合法的数字。NaN 属...