PostgreSQL 数据库的数据类型和运算符

42 篇文章 9 订阅
42 篇文章 22 订阅

数据库的数据类型和运算符

一、数据库的介绍

1、整数类型

创建一张表,三种不同的日期格式


2、浮点数类型

Postgresql也支持sql的标准表的语法,float和float(p)用于声明非精确的数值类型。其中,p声明以二进制位表示的最低可接受精度。在选取REAL类型的时候,PostgreSQL接受float(1)到float(24),在选取DOUBLE PRECISION的时候,接受float(25)到float(53)。在允许范围之外的p值将导致一个错误, 没有声明精度的float将被当作DOUBLE PRECISION。


3、任意精度类型

    在PostgreSQL中,NUMERIC标识数值是任意精度的类型,使用NUMERIC(M,N)来表示。其中,M称为精度,表示总的位数;N称为标度,表示小数的位数。例如321.594,精度为6,标度为3。

    NUMERIC的有效的取值范围有M和N的值决定。如果改变M而固定N,则其取值范围将随M的变大而变大。另外如果用户数据的精度超出指定精度,则会四舍五入进行处理。


插入数据,进行查询


4、日期与时间类型

在PostgreSQL中,有多种日期数据类型,主要有:TIME 、 DATE、TIMESTAMP和INTERVEL。每一个类型都有合法的取值范围,当指定确实不合法的值时,系统将“零”值插入到数据库中。





①、TIME数据类型

用于只需要时间信息的值,在存储时需要8个字节。格式为:HH:MM:SS。HH表示小时,MM表示分钟,SS表示秒。取值范围为00:00:00--24:00:00

②、DATE数据类型

用在仅需要日期格式的时候,没有时间部分,在存储是需要4个字节,日期格式为“YYYY-MM-DD”。其中,YYYY表示年;MM表示月;DD表示日。在给DATE类型的字段赋值时,可以使用字符串类型或者数字类型的数据插入,只要符合DATE的日期格式即可。

③、TIMESTAMP数据类型【时间戳类型】

日期格式是:“YYYY-MM-DD  HH:MM:SS”。

④、创建带时区的日期和时间类型




PST是西8区,如果不指定时区,默认为东8区。

5、字符串类型

字符串类型用来存储字符串数据,除了可以存储字符串数据之外,还可以存储其他数据,比如图片和声音的二进制数据。字符串可以进行区分或者不区分大小写的串比较。例如CHAR 、VARCHAR 、TEXT。


注:CHAR 和VARCHAR 的区别

CHAR类型在数据长度不足时,会以空格去补齐;但是VARCHAR类型不会以空格补齐,只会存储数据的实际长度。

所以CHAR类型会占用更多的存储空间,但是CHAR在检索数据的效率上比VARCHAR类型较高。

①、VARCHAR(n)和CHARACTER VARYING(n)

n是一个正整数,两者都可以存储最多n个字符的字符串。如果要存储的字符串比声明的长度短,类型为CHARACTER的数值将会用空白填满;而类型为CHARACTER VARYING的数值将只是存储较短的字符串。




CHARACTER类中填充的空白是无意义的。

②、TEXT

可以存储任何长度的字符串。尽管TEXT不是SQL标准类型,但是其他许多的SQL数据库系统中也包括它。

6、二进制类型

PostgreSQL支持两种字符型数据:文本字符串和二进制字符串。例如BYTEA,用于存储二进制字符串。

7、布尔类型

BOOLEAN用一个字节来存储,提供了TRUE和FALSE两个值。

8、数组类型

数组类型可以是任何基本类型或用户定义类型。

①、声明数组

address text

②、插入数组数值

二、如何选择数据类型

1、整数和浮点数

整数:不需要小数部分

浮点数:需要小数部分

2、日期和时间类型

TIME:时间

DATE:日期

TIMESTAMP:日期+时间

3、CHAR和VARACTER的特点的选择

CHAR:固定长度字符

VARACTER:可变长度字符

三、常见运算符介绍

1、运算符

①、算术运算符

 +         -         /       *           %(求余)


②、比较运算符

>       <        >=           <=        !=   IN      LIKE       LEAST       BENTWEEN  AND    GREATEST    


③、逻辑运算符

TRUE      FALSE     AND     OR    NOT



总结:


④、位运算符

&        |         ~         ^          <<               >>

2、规则

*** 规则:①、 如果有一个或是两个参数为null,那么比较的结果为空;

                ②、若同一个运算符中两个参数都是字符串,那么比较结果按照字符串进行比较;

                ③、如果两个参数均为整数,那么在比较的时候会按照整数类型来比较;

                ④、如果一个字符串和数值类型进行比较,那么PostgreSQL数据库会自动将字符串类型转换成数值进行比较。

运算符的优先级:


有参考资料书籍 !!

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值