Postgresql 格式转换笔记整理

1、数据类型有哪些

1.1 数值类型

DECIMAL/NUMERIC 使用方法

DECIMAL是PostgreSQL中的一种数值数据类型,用于存储固定精度和小数位数的数值。DECIMAL的精度是由用户指定的,可以存储任何位数的数值,而小数位数则由用户自行定义。DECIMAL类型的值在存储时被截断或四舍五入到指定的小数位数。

CREATE TABLE products (

id SERIAL PRIMARY KEY,

name VARCHAR(100),

price DECIMAL(10, 2)

);

在上面的示例中,我们创建了一个名为products的表,其中包含一个price列,其数据类型为DECIMAL,总共可以存储10位数值,其中有2位为小数。

1.2 字符类型

Postgresql提供了三种字符类型:char(n),varchar(n)和text,其中n是正整数。

类型 描述

char(n) 定长,空白填充

varchar(n) 可变长度限制

text,varchar 可变无限长度

总结:

varchar(没有n) = text

char(没有n) = char(1)

varchar(n)唯一好处是:当字符串超过n时会执行失败

PostgreSQL中三种字符类型没有性能差异,推荐用text或varchar,要求限制长度则用varchar(n)

1.3 日期/时间类型

下表演示了基本算术操作符的行为(+,*, 等):

1.4 布尔类型

PostgreSQL 支持标准的 boolean 数据类型。

boolean 有"true"(真)或"false"(假)两个状态, 第三种"unknown"(未知)状态,用 NULL 表示。

名称 存储格式 描述

boolean 1 字节 true/false

1.5 枚举类类型

创建枚举类类型

create type week as enum('Sun','Mon','Tues','Wed','Thur','Fri','Sat');

创建了一个名为week 的类型,包含'Sun','Mon','Tues','Wed','Thur','Fri','Sat'七类

创建表

create table duty(

person text,

weekday week //这里定义weekday字段的类型为week

);

插入数据

insert into duty values('April','Sun');

insert into duty values('Harris','Mon');

insert into duty values('Dave','Wed');

查询

select * from duty;

1.6 货币类型

select '12.14'::money

2、数据类型转换

2.1 ::显示转换

语法:字段名或数值::数据类型

-- 将文本'123'转为int8类型

SELECT

'123' :: int8 num;

-- 将文本类型字段t1转为int8类型

SELECT

t1 :: int8

from temp;

2.2 数据类型转换

语法:数据类型数值

-- 将文本'123'转为int8类型

SELECT

int8'123' num;

2.3 转换函数CAST转换

语法: cast(字段名或数值 as 数据类型)

-- 将文本'123'转为int8类型

SELECT

cast('123' as int4) num;

-- 将文本字段t1转为int类型

SELECT CAST( t1 AS INT ) t1_c

FROM

TEMP;

相关推荐
Dann Hiroaki3 小时前
笔记分享: 哈尔滨工业大学CS31002编译原理——02. 语法分析
笔记·算法
KhalilRuan4 小时前
Unity-MMORPG内容笔记-其三
笔记
互联网搬砖老肖4 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
典学长编程4 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
kfepiza5 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
积跬步,慕至千里5 小时前
clickhouse数据库表和doris数据库表迁移starrocks数据库时建表注意事项总结
数据库·clickhouse
极限实验室6 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
数据库
白仑色6 小时前
Oracle PL/SQL 编程基础详解(从块结构到游标操作)
数据库·oracle·数据库开发·存储过程·plsql编程
程序猿小D7 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的个人财务管理系统,推荐!
java·数据库·mysql·spring·毕业论文·ssm框架·个人财务管理系统
I'm写代码8 小时前
el-tree树形结构笔记
javascript·vue.js·笔记