本文介绍PostgreSQL CAST操作转换数据类型。
1. PostgreSQL CAST介绍
很多时候需要转换数据类型。PostgreSQL 提供了CAST操作实现类型转换。语法如下:
CAST ( expression AS target_type );表达式可以是常量、列、表达式目标数据类型即想转换的数据类型
*cast :: operator
除了上面的语法,还有另外的语法实现同样功能;expression::type,举例:
SELECT'100'::INTEGER,'01-OCT-2015'::DATE;注意使用cast操作(::)是PostgreSQLT特有...
第五章: 数据类型之基本数据类型
1. 数字类型
--smallint/integer/bigint:integer最为常用
--real/double precision/numeric:real为单精度,Numeric计算准确,但计算较慢,
--serial:用于生成唯一标识符
2. 字符类型
--varchar(80):只存储实际长度
--char(80):长度不足80,用空格填满
--text:可存储任意长度
3. 日期和时间
--time: 包含时间
--date: 包含日期
--timestamp: 包含日期和时间
--interval:时间间隔
4. 文本搜索类...
1.1 数据类型
PostgreSQL 有着丰富的数据类型可用。 用户可以使用 CREATE TYPE 命令为 PostgreSQL 增加新的数据类型。
Table1-1显示了所有内置的普通数据类型。 在"别名"列里列出的大多数可选名字都是因历史原因 PostgreSQL 在内部使用的名字。另外,还有一些内部使用的或者废弃的类型也可以用,但没有在这里列出。Table1-1: 数据类型名字别名描述bigint
int8
有符号 8 字节整数bigserial
serial8
自增八字节整数bit [ (n) ]
定...
数值类型
数值类型由两个字节,4字节和8字节的整数,4字节和8字节的浮点数和可选精度的小数。下表列出了可用的类型。 www.yiibai.comNameStorage SizeDescriptionRangeint2
2 bytes
small-range integer
-32768 to +32767int4
4 bytes
typical choice for integer
-2147483648 to +2147483647int8
8 bytes
large-range integer
-9223372036854775808 to 9223372036854775807decimal
variable
user-specified precision,exact
up to...
JSONB-modifying operators and functionsIn 9.3 (and to a greater extent in 9.4), JSONB data could be extracted using various functions and operators, but nothing that could actually modify the data. As of 9.5, JSONB data can now be modified.jsonb || jsonb (concatenate / overwrite)The || operator allows us to combine 2 jsonb objects. If there‘s overlap, values are replaced on the highest level.For ...
PostgreSQL解决某系数据库中的tinyint数据类型问题,创建自己需要的数据类型如下:
CREATE DOMAIN tinyint
AS smallint
CONSTRAINT tinyint_check CHECK (VALUE >= 0 AND VALUE <= 255);
ALTER DOMAIN tinyint
OWNER TO postgres;
COMMENT ON DOMAIN tinyint
IS ‘tinyint type between 0 and 255‘;
postgres=# create table test_domain(id tinyint);
CREATE TABLE
postgres=# insert into test_domain values (1);
INSER...
2. 插入数据
insert into tb10 select generate_series(1,5);
3. 把id的int变为varchar
postgres=# alter table tb101 alter id type varchar;
ALTER TABLE
因为int转varchar有隐式的转换,故可以自动转换过去。
postgres=# \d tb101Table "public.tb101"Column | Type | Modifiers
--------+-------------------+-----------id | character varying |
4. 把id的varchar变为int
postgres=# alter table tb...
PostgreSQL解决某系数据库中的tinyint数据类型问题,创建自己需要的数据类型如下:
CREATE DOMAIN tinyint
AS smallint
CONSTRAINT tinyint_check CHECK (VALUE >= 0 AND VALUE <= 255);
ALTER DOMAIN tinyint
OWNER TO postgres;
COMMENT ON DOMAIN tinyint
IS ‘tinyint type between 0 and 255‘;
postgres=# create table test_domain(id tinyint);
CREATE TABLE
postgres=# insert into test_domain values (1);
INSER...
用来存储具有多个属性值的数据。acquire key/value ==> reference: https://www.postgresql.org/docs/8.4/static/hstore.html 空间数据类型 ==》http://workshops.boundlessgeo.com/postgis-intro/geometry_returning.html未完待续。。。。。。特殊的数据类型的介绍 in postgresql标签:postgresql中的特殊类型本文系统来源:http://12242709.blog.51cto.com/12232709/1916088
mainimport ("bytes""database/sql""database/sql/driver""fmt"_ "github.com/lib/pq""strconv""strings"
)// 自己定义支持类型
type Point struct {X float64 `json:"lat"`Y float64 `json:"lng"`
}
// 实现driver.Valuer接口
func (p *Point) Value() (driver.Value, error) {buf := new(bytes.Buffer)fmt.Fprintf(buf, "(%f %f)", p.X, p.Y)return buf.Bytes(), nil
}func (p *Point) String() string {return fmt.Sprintf("(%v...
PostgreSQL 10常用的索引类型有btree,hash,gin,gist,spgist,brin六种,btree和hash是最长用的,基本所有数据类型都支持,以下对gin,gist,spgist,brin索引支持的数据类型总结如下:
PostgreSQL 10数据类型与索引标签:text 数据类型 51cto proc 技术 oss 技术分享 ffffff .com 本文系统来源:http://blog.51cto.com/tongcheng/2321912
前言
对于select 233;这个sql,得到的结果是int4类型,如果我们希望将结果转换成其他的数据类型,有两种方法:
方法一:使用::数据类型
select 233::text;
上边的sql通过::text将结果转换成了text类型。
方法二:使用数据类型‘‘
select text ‘233‘;
select text‘233‘;
上边的sql通过text‘‘将结果转换成了text类型。这里的两种写法是一样的,加不加空格没有影响。
另外提一句,对于select N‘233‘;这个句子中的N‘‘,会将...
数值类型
数值类型由两个字节,4字节和8字节的整数,4字节和8字节的浮点数和可选精度的小数。下表列出了可用的类型。 www.yiibai.comNameStorage SizeDescriptionRangeint2
2 bytes
small-range integer
-32768 to +32767int4
4 bytes
typical choice for integer
-2147483648 to +2147483647int8
8 bytes
large-range integer
-9223372036854775808 to 9223372036854775807decimal
variable
user-specified precision,exact
up to...
PostgreSQL 数据类型分类名称存储空间范围描述数值类型int2/smallint2 bytes-32768 到 +32767small-range integer数值类型int4/integer4 bytes-2147483648 到 +2147483647typical choice for integer数值类型int8/bigint8 bytes-9223372036854775808 到 +9223372036854775807large-range integer数值类型decimal/NUMERIC变长无限制decimal(6,5) 数字长度为6,一位整数,5位小数,最后四舍五入数值类型float4/REAL4 bytes7位小数,第...
从版本9.4开始,PostgreSQL在使用JSON数据的二进制表示jsonb时提供了显着的加速,这可以为您提供增加性能所需的额外优势。什么是jsonb由PostgreSQL文档定义的数据类型json和jsonb几乎相同;关键的区别在于json数据存储为JSON输入文本的精确副本,而jsonb以分解的二进制形式存储数据;也就是说,不是ASCII / UTF-8字符串,而是二进制代码。这有一些直接的好处:效率更高,加工速度明显加快支持索引(这可能是一个重要的优势,我们稍后...