程序员的知识教程库

网站首页 > 教程分享 正文

一文看懂PG数据类型之数值类型、字符类型、日期类型、数组类型

henian88 2024-09-17 21:24:13 教程分享 124 ℃ 0 评论

概述

PG的数据类型还是有点多的,为了避免写成博客,所以分成了两部分来做介绍,下面一起来看看吧~


一、查看当前数据库的数据类型


二、数值类型

1、列表

数值类型由两个字节,4字节和8字节的整数,4字节和8字节的浮点数和可选精度的小数。下表列出了可用的类型。

2、数学函数

函数名称作用描述mod()按模取余round()四舍五入ceil()向上取整floor()向下取整


三、字符类型

1、列表

下表列出了可在PostgreSQL通用字符类型。

2、字符类型函数


四、日期/时间类型

1、列表

PostgreSQL支持全套的SQL日期和时间类型,列于下表。根据公历日期计算。在这里,所有的类型有日期类型以外,其分辨率为day1微秒/14位的解析度。

2、时间/日期常用函数


五、数组类型

PostgreSQL的机会定义为可变长度的多维数组的列一个表。任何内置或用户定义的基本类型数组,枚举类型,或者可以创建复合型。

1、数组类型定义

--数组类型可以声明为:
CREATE TABLE monthly_savings (
 name text,
 saving_per_quarter integer[],
 scheme text[][]
); 
--或通过使用关键字“ARRAY”:
CREATE TABLE monthly_savings (
 name text,
 saving_per_quarter integer ARRAY[4],
 scheme text[][]
); 

2、插入值

数组的值可以插入一个文本常量,内附大括号内的元素值,并用逗号将它们隔开。

INSERT INTO monthly_savings VALUES ('Manisha', '{20000, 14600, 23500, 13250}', '{{"FD", "MF"}, {"FD", "Property"}}'); 

3、访问数组

用于访问阵列的一个例子如下所示。下面的命令将选择人员,他们存储在第二,第四个。

SELECT name FROM monhly_savings WHERE saving_per_quarter[2] > saving_per_quarter[4]; 

4、修改数组

--修改数组的一个例子如下所示。
UPDATE monthly_savings SET saving_per_quarter = '{25000,25000,27000,27000}'
WHERE name = 'Manisha'; 
--或数组表达式语法:
UPDATE monthly_savings SET saving_per_quarter = ARRAY[25000,25000,27000,27000]
WHERE name = 'Manisha'; 

5、寻找ARRAYS

--搜索数组的一个例子如下所示。
SELECT * FROM monthly_savings WHERE saving_per_quarter[1] = 10000 OR
saving_per_quarter[2] = 10000 OR
saving_per_quarter[3] = 10000 OR
saving_per_quarter[4] = 10000; 
--如果数组的大小是已知的上述搜索方法都可以使用。否则,下面的例子说明如何时要搜索的大小是不知道的。
SELECT * FROM monthly_savings WHERE 10000 = ANY (saving_per_quarter); 

6、数组函数

-- 追加(追加末尾),移除(指定值)
select array_append(array[1,2],3),array_remove(array[1,2],2);
-- 获取维度
SELECT array_ndims(array[1,2]);

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表