GBase 8c
其他
文章

GBase 8c 函数与操作符——30-类型转换 | 值存储

发表于2023-12-07 15:11:29260次浏览2个评论
  1. 查找与目标字段准确的匹配。

  2. 试着将表达式直接转换成目标类型。如果已知这两种类型之间存在一个已注册的转换函数,那么直接调用该转换函数即可。如果表达式是一个未知类型文本,该文本字符串的内容将交给目标类型的输入转换过程。

  3. 检查一下看目标类型是否有长度转换。长度转换是一个从某类型到自身的转换。如果在pg_cast表里面找到一个,那么在存储到目标字段之前先在表达式上应用。这样的转换函数总是接受一个额外的类型为integer的参数,它接收目标字段的atttypmod值(实际上是其声明长度,atttypmod的解释随不同的数据类型而不同),并且它可能接受一个boolean类型的第三个参数,表示转换是显式的还是隐式的。转换函数负责施加那些长度相关的语义,比如长度检查或者截断。

评论

登录后才可以发表评论
用户头像
levvel发表于 6个月前
文笔太棒了!
用户头像
GBase用户28017发表于 5个月前
好文章。