PostgreSQL中的bool类型转换为smallint的方法是什么
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍"PostgreSQL中的bool类型转换为smallint的方法是什么",在日常操作中,相信很多人在PostgreSQL中的bool类型转换为smallint的方法是什么问题上存在疑
千家信息网最后更新 2024年11月23日PostgreSQL中的bool类型转换为smallint的方法是什么
这篇文章主要介绍"PostgreSQL中的bool类型转换为smallint的方法是什么",在日常操作中,相信很多人在PostgreSQL中的bool类型转换为smallint的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PostgreSQL中的bool类型转换为smallint的方法是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
转换过程
1.使用psql中的\help alter table命令找到修改列类型的语法:
[local:/data/run/pg12]:5120 pg12@testdb=# \help alter tableCommand: ALTER TABLEDescription: change the definition of a tableSyntax:ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] action [, ... ]...where action is one of: ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ] ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ] ALTER [ COLUMN ] column_name SET DEFAULT expression ALTER [ COLUMN ] column_name DROP DEFAULT ALTER [ COLUMN ] column_name { SET | DROP } NOT NULL ALTER [ COLUMN ] column_name ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence_options ) ] ALTER [ COLUMN ] column_name { SET GENERATED { ALWAYS | BY DEFAULT } | SET sequence_option | RESTART [ [ WITH ] restart ] } [...] ALTER [ COLUMN ] column_name DROP IDENTITY [ IF EXISTS ] ALTER [ COLUMN ] column_name SET STATISTICS integer ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] ) ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] ) ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
2.执行转换
[local:/data/run/pg12]:5120 pg12@testdb=# drop table t_bool;ERROR: table "t_bool" does not exist[local:/data/run/pg12]:5120 pg12@testdb=# create table t_bool(col bool);CREATE TABLE[local:/data/run/pg12]:5120 pg12@testdb=# alter table t_bool alter column col type smallint;ERROR: column "col" cannot be cast automatically to type smallintHINT: You might need to specify "USING col::smallint".[local:/data/run/pg12]:5120 pg12@testdb=#
提示指定使用"USING col::smallint",翻看PG的语法:
ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]
USING后面跟的是expression表达式,可以理解为如何转换的表达式,因此执行以下语句:
[local:/data/run/pg12]:5120 pg12@testdb=# alter table t_bool alter column col type smallint using col::int::smallint;ALTER TABLE
DONE!成功转换。
实际上,还可以更简化:
[local:/data/run/pg12]:5120 pg12@testdb=# alter table t_bool alter column col type smallint using col::int;ALTER TABLE
因为int到smallint是有转换的,不需要明确的int::smallint,但为了说明转换过程,加上该转换会清晰许多。
附录
测试脚本如下:
drop table t_bool;create table t_bool(col bool);alter table t_bool alter column col type smallint;alter table t_bool alter column col type smallint using col::int::smallint;
到此,关于"PostgreSQL中的bool类型转换为smallint的方法是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
方法
类型
学习
更多
表达式
语法
过程
帮助
实用
成功
接下来
命令
实际
实际上
文章
理论
知识
篇文章
网站
脚本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新闻联播网络安全
西藏网络安全协会
中英科技与卫星互联网
怎么检查服务器是否联网
计算机网络技术移动互联
sql服务器进行共享访问
海康录像机代理服务器
苏州阿里云服务器资源共享
三维软件开发平台
南京app软件开发公司在线咨询
网络安全法多久一次更新
泰州品质联想服务器供货厂
初中手抄报 网络安全.
央行网络安全管理系统
如果app服务器在境外
江苏最大的软件开发公司
高校选课系统数据库
软件开发企业绩效考核表
嘉兴定华互联网科技有限公司
什么是小型企业的网络安全
预付的软件开发费
网络技术 试题
数据库学生选课系统设计报告
2017网络安全生态试卷5
网络安全治理规划
违背网络安全法规怎么处罚
小程序的网络安全
网络安全生态什么社会和谐
如何查看已安装数据库
服务器管理与维护是什么专业的