postgres数据库中的数据转换
postgres8.3以后,字段数据之间的默认转换取消了。如果需要进行数据变换的话,在postgres数据库中,我们可以用"::"来进行字段数据的类型转换。实际上"::"是调用CAST函数的。究竟哪些字段之间可以进行数据转换呢?
这个问题只要研究一下cast函数就能够得到答案。cast函数的信息在系统pg_cast表里面管理。
通过查询我们可以得到现阶段可以转换的类型对照表如下:
源类型 转换目标类型
| int8 | int2 |
| int8 | int4 |
| int8 | float4 |
| int8 | float8 |
| int8 | numeric |
| int2 | int8 |
| int2 | int4 |
| int2 | float4 |
| int2 | float8 |
| int2 | numeric |
| int4 | int8 |
| int4 | int2 |
| int4 | float4 |
| int4 | float8 |
| int4 | numeric |
| float4 | int8 |
| float4 | int2 |
| float4 | int4 |
| float4 | float8 |
| float4 | numeric |
| float8 | int8 |
| float8 | int2 |
| float8 | int4 |
| float8 | float4 |
| float8 | numeric |
| numeric | int8 |
| numeric | int2 |
| numeric | int4 |
| numeric | float4 |
| numeric | float8 |
| int4 | bool |
| bool | int4 |
| int8 | oid |
| int2 | oid |
| oid | int8 |
| int8 | regproc |
| int2 | regproc |
| regproc | int8 |
| int8 | regprocedure |
| int2 | regprocedure |
| regprocedure | int8 |
| int8 | regoper |
| int2 | regoper |
| regoper | int8 |
| int8 | regoperator |
| int2 | regoperator |
| regoperator | int8 |
| int8 | regclass |
| int2 | regclass |
| regclass | int8 |
| int8 | regtype |
| int2 | regtype |
| regtype | int8 |
| int8 | regconfig |
| int2 | regconfig |
| regconfig | int8 |
| int8 | regdictionary |
| int2 | regdictionary |
| regdictionary | int8 |
| text | regclass |
| varchar | regclass |
| bpchar | text |
| bpchar | varchar |
| char | text |
| char | bpchar |
| char | varchar |
| name | text |
| name | bpchar |
| name | varchar |
| text | char |
| bpchar | char |
| varchar | char |
| text | name |
| bpchar | name |
| varchar | name |
| char | int4 |
| int4 | char |
| abstime | date |
| abstime | time |
| abstime | timestamp |
| abstime | timestamptz |
| reltime | interval |
| date | timestamp |
| date | timestamptz |
| time | interval |
| time | timetz |
| timestamp | abstime |
| timestamp | date |
| timestamp | time |
| timestamp | timestamptz |
| timestamptz | abstime |
| timestamptz | date |
| timestamptz | time |
| timestamptz | timestamp |
| timestamptz | timetz |
| interval | reltime |
| interval | time |
| timetz | time |
| lseg | point |
| path | point |
| path | polygon |
| box | point |
| box | lseg |
| box | polygon |
| box | circle |
| polygon | point |
| polygon | path |
| polygon | box |
| polygon | circle |
| circle | point |
| circle | box |
| circle | polygon |
| inet | cidr |
| int8 | bit |
| int4 | bit |
| bit | int8 |
| bit | int4 |
| cidr | text |
| inet | text |
| bool | text |
| text | xml |
| cidr | varchar |
| inet | varchar |
| bool | varchar |
| varchar | xml |
| cidr | bpchar |
| inet | bpchar |
| bool | bpchar |
| bpchar | xml |
| bpchar | bpchar |
| varchar | varchar |
| time | time |
| timestamp | timestamp |
| timestamptz | timestamptz |
| interval | interval |
| timetz | timetz |
| bit | bit |
| varbit | varbit |
| numeric | numeric |
postgres数据库中的数据转换的更多相关文章
- DELPHI 把数据库中的数据转换成XML格式
function ReplaceString(AString: string): string; begin Result := StringReplace(AString, '&', '&a ...
- 在ef core中使用postgres数据库的全文检索功能实战
起源 之前做的很多项目都使用solr/elasticsearch作为全文检索引擎,它们功能全面而强大,但是对于较小的项目而言,构建和维护成本显然过高,尤其是从关系数据库/文档数据库到全文检索引擎的数据 ...
- 在ef core中使用postgres数据库的全文检索功能实战之中文支持
前言 有关通用的postgres数据库全文检索在ef core中的使用方法,参见我的上一篇文章. 本文实践了zhparser中文插件进行全文检索. 准备工作 安装插件,最方便的方法是直接使用安装好插件 ...
- Postgres数据库在Linux中优化
I/O 优化1 打开 noatime nodirtime,async 方法: 修改 /etc/fstab stat 命令查看 2 调整预读方法: 查看 sudo blockdev --getra /d ...
- 使用Sqoop,最终导入到hive中的数据和原数据库中数据不一致解决办法
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL , ...
- Postgres数据库基本介绍
最近一直在做一个和PostgreSQL数据库相关的项目,把自己在这个过程中学习的知识记录下来.关于PostgreSQL数据库网上已经有太多的相关介绍了,为了博文的系统性还是先看一下维基百科对Postg ...
- pgadmin(IDE)工具连接postgres数据库
1. 下载软件 软件地址:http://www.pgadmin.org/download/pgagent.php 2.安装软件 安装过程:略 打开软件64位会出现 “无 ...
- Metasploit连接postgres数据库
操作环境为Kali虚拟机 root@kali:~# apt-get install postgresql 启动服务 root@kali:~# service postgresql start [ ok ...
- ubuntu crontab 定时备份postgres数据库并上传ftp服务器
最近公司要求备份数据库,所以就查了比较作的资料.废话不多说,入正题. 目的:定期备份ubuntu下的postgres数据库,打包上传到指定ftp服务器. 经过查找资料,解决方法: ①编写备份数据库.打 ...
随机推荐
- java线性表学习笔记(一)
线性表是一种按顺序储存数据是的常用结构,大多数的线性表都支持以下的典型操作: 从线性表提取插入删除一个数据: 找出线性表中的某一个元素: 找出线性表中的元素: 确定线性表中是否包含某一个元素,确定线性 ...
- access检测表没有的字段,添加之
#region 检测是否存在STATE字段,没有就添加 /// <summary> /// 检测是否存在STATE字段,没有就添加 /// </summary> /// < ...
- Uvalive 4865 Data Recovery 最大流
题意就是 给一个50 * 50的矩阵 然后给出每行每列元素的和 和一个初始矩阵 矩阵中有些是未知,有些是已知 然后我们求目标矩阵就是把能确定的元素的值求出来,实在不能确定的就置为-1 所有矩阵元素的值 ...
- CGI 是什么
CGI是公共网关接口,是Java Servlet 的前身,Java Servlet 是运行在服务器端的小程序.
- INVALID_SOCKET的值
INVALID_SOCKET的值 (2011-06-26 15:06:45) 标签: 杂谈 INVALID_SOCKET的值不是-1,原因参考basetsd.h和WinSock2.h: typedef ...
- 解决Android singleTask模式下PendingIntent不能给onNewIntent传值的Bug
http://phenix.blogbus.com/logs/220656659.html 博主简直碉堡了, 我用PendingIntent给singleTask的顶层Activity传值一直收不到, ...
- Kettle 创建 Transformation
1.第一步,先准备数据和工具 安装好mysql以及客户端工具 数据: USE `test`; CREATE TABLE `account` ( `id` int(11) NOT NULL AUTO ...
- C# 特性详解(上)
特性(attribute)是被指定给某一声明的一则附加的声明性信息. 元数据,就是C#中封装的一些类,无法修改.类成员的特性被称为元数据中的注释. 1.什么是特性 1)属性与特性的区别 属性 ...
- android AChartEngine图标引擎
AChartEngine 1.在androi开发中的时候很多时候是要用图表将数据直观的显示出来的,这里就要用到AChartEngine. XMultipleSeriesRenderer 是经常要用到的 ...
- CentOS7安装telnet服务
CentOS7.0 telnet-server 启动的问题.解决方法: ①.先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下: rpm ...