例如有一张表名叫recharge_package,表中已经存在数据。
其中有一op_name列,其数据类型是character varying(10),现想将其修改为numeric(7,2),
那么如下即可:
alter table recharge_package alter COLUMN op_name type numeric(7,2) using op_name::numeric(7,2);
系统会自动转换数据的类型。如果转换失败,则修改不会成功。
例如存在非数字格式的字符串,肯定是无法转换为数字的。 会报如下错误:
ERROR: 错误: 无效的类型 numeric 输入语法: "aaaaaaaaaaa" SQL 状态:22P02
money 8字节
money 类型存储带有固定小数精度的货币金额,可以与numeric、int、bigint进行转化。不建议使用浮点数处理货币类型,因为可能存在精度问题。
char(n),character(n)定长,不足补空白
var
char(n) ,character
var
ying
(n)变长,有长度限制
text 变长,无长度限制
日期 / 时间
boolean 一字节 ...
这个错误是由于
PostgreSQL
不支持直接将
var
char 类型转换为 double precision 类型,需要先将该字段的
var
char 类型转换为 numeric 类型,再将 numeric 类型转换为 double precision 类型。注意:这两个语句执行后,原来表
中
的
数据类型
会被
修改
为 FLOAT 类型,如果原来的数据不是有效的浮点数,转换过程
中
可能会出现错误。请注意,这里的转换可能会因为
数据类型
不匹配而失败,需要先备份好数据再进行操作。
弄好
pg
sql
的环境后,我大概玩了一下,并且数了下里面的
数据类型
,发现至少有一百多种,WTF?
PostgreSQL
有着丰富的内置
数据类型
可用。用户还可以使用CREATE TYPE命令增加新的
数据类型
(摘抄官网)。
PostgreSQL
文档地址
https://www.yiibai.com/manual/
postgresql
/index.html
查看官方文档后发现很...
postgresql
函数实现
CREATE OR REPLACE FUNCTION isnumeric(str character
var
ying
)
RETURNS numeric
LANGUAGE pl
pg
sql
AS $function$
declare
p_str numeric;
begin
p_str := cast($1 as numeric);
return p_str;
exception
PostgreSQL
的
数据类型
转换(格式化)函数提供了一套非常有效的工具,用于各种
数据类型
之间的相互转换,可以将日期/时间,integer,floating point,numeric 转换成格式化的字符串以及反过来从格式化的字符串转换成指定的
数据类型
。但一般最常用的是一下两类:(1)将特定
数据类型
转换为字符串,因为在程序开发工程
中
处理的数据是以字符串为主的;(2)i数字(int)转换为字符串。
示例:ALTER TABLE "user" ADD gid1ype numeric(50);
b、给字段添加注释:COMMENT ON COLUMN "表名"."字段名" IS '注释内容';
示例:COMMENT ON COLUMN "user"."gid1ype" IS '类型 1为普通 2为高级';
c、
修改
表名:alter table table_name(表名) rename to n...
PostgreSQL
数据库
的
数据类型
分别有:布尔类型、数值类型、字符串类型、二进制
数据类型
、位串类型、日期/时间类型、枚举类型、几何类型、网络地址类型、复合类型、XML类型、JSON类型、Range类型、数组类型、伪类型、其他类型等。
Navicat Data Modeler是功能强大且具有成本效益的
数据库
设计工具,可帮助您构建高质量的概念,逻辑和物理数据模型。它使您可以直观地设计
数据库
结构,执行反向/正向工程过程,从ODBC数据源导入模型,生成复杂的
SQL
/ DDL,将模型打印到文件等等。
简化创建复杂实体关系模型的任务,只需单击一下即可生成脚本
SQL
。Navicat Data Modeler支持各种
数据库
系统,包括My
SQL
,MariaDB,Oracle,
SQL
Server,
PostgreSQL
和
SQL
ite。
数据库
对象
使用专业的对象设计器创建,
修改
和设计模型,可用于表和视图。无需编写复杂的
SQL
来创建和编辑对象,您将确切地知道您正在做什么。此外,Navicat Data Modeler支持三种标准符号:鱼尾纹,IDEF1x和UML。使用我们功能丰富,简单且易于使用的绘图工具,您只需单击几下即可开发出完整的数据模型。
Navicat Data Modeler使您能够为各种受众构建高质量的概念,逻辑和物理数据模型。使用模型转换功能,可以将概念性业务级别模型转换为逻辑关系
数据库
模型,然后转换为物理
数据库
实现。从草绘系统设计的概图到查看关系以及使用链接的实体,表和视图
中
的属性和
列
。您可以轻松地将准确的更改部署到
数据库
结构,并构建有组织的更有效的
数据库
系统。
逆向工程是Navicat Data Modeler的关键功能之一。加载现有的
数据库
结构并创建新的ER图。可视化
数据库
模型,以便您可以看到诸如属性,关系,索引,唯一性,注释和其他对象之类的元素如何相互关联,而无需显示实际数据。Navicat Data Modeler支持不同的
数据库
:直接连接,ODBC,My
SQL
,MariaDB,Oracle,
SQL
Server,
PostgreSQL
和
SQL
ite。
比较与同步
同步到
数据库
功能将为您提供所有
数据库
差异的全貌。比较
数据库
后,您可以查看差异并生成同步脚本以更新目标
数据库
,以使其与模型相同。灵活的设置使您可以设置自定义密钥以进行比较和同步。
SQL
代码生成
Navicat Data Modeler不仅是用于创建ER图和设计
数据库
的工具。它的导出
SQL
功能还使您可以完全控制最终的
SQL
脚本,并允许您生成模型的各个部分,参照完整性规则,注释,字符集等,从而可以节省数百小时的工作时间。
标准设计工具
添加顶点,图层,图像,形状和注释/标签,对齐/分配对象,无限的撤消/重做容量,自动布局,搜索过滤器等等。
+ 4.10.1 在Unix操作系统上安装 Perl
+ 4.10.2 在 Win32上安装 ActiveState Perl
+ 4.10.3 在 Win32 上安装 My
SQL
Perl 分发
+ 4.10.4 使用 Perl DBI/DBD接口遇到的问题
o 4.11 系统特定的问题
+ 4.11.1 Solaris注意事项
+ 4.11.2 Solaris 2.7 注意事项
+ 4.11.3 Solaris x86 注意事项
+ 4.11.4 SunOS 4 注意事项
+ 4.11.5 Linux (所有的Linux版本)注意事项