数据库中所有数据库的数据类型型?

SQL&用于各种数据库的数据类型
Microsoft Access、MySQL 和 SQL Server 所使用的数据类型和范围。
Microsoft Access 数据类型
数据类型描述存储
用于文本或文本与数字的组合。最多 255 个字符。
Memo 用于更大数量的文本。最多存储 65,536 个字符。注释:无法对 memo 字段进行排序。不过它们是可搜索的。
允许 0 到 255 的数字。
允许介于 -32,768 与 32,767 之间的全部数字。
允许介于 -2,147,483,648 与 2,147,483,647 之间的全部数字。
单精度浮点。处理大多数小数。
双精度浮点。处理大多数小数。
用于货币。支持 15 位的元,外加 4 位小数。提示:您可以选择使用哪个国家的货币。
AutoNumber
AutoNumber 字段自动为每条记录分配数字,通常从 1 开始。
用于日期和时间
逻辑字段,可以显示为 Yes/No、True/False 或 On/Off。在代码中,使用常量 True 和 False (等价于 1 和 0)。注释:Yes/No 字段中不允许 Null 值
Ole Object
可以存储图片、音频、视频或其他 BLOBs(Binary Large OBjects)。
包含指向其他文件的链接,包括网页。
Lookup Wizard
允许您创建一个可从下拉列表中进行选择的选项列表。
MySQL 数据类型
在 MySQL 中,有三种主要的类型:Text(文本)、Number(数字)和 Date/Time(日期/时间)类型。
Text 类型:
数据类型描述
CHAR(size)
保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。
VARCHAR(size)
保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。注释:如果值的长度大于 255,则被转换为 TEXT 类型。
存放最大长度为 255 个字符的字符串。
存放最大长度为 65,535 个字符的字符串。
用于 BLOBs(Binary Large OBjects)。存放最多 65,535 字节的数据。
MEDIUMTEXT
存放最大长度为 16,777,215 个字符的字符串。
MEDIUMBLOB
用于 BLOBs(Binary Large OBjects)。存放最多 16,777,215 字节的数据。
存放最大长度为 4,294,967,295 个字符的字符串。
用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。
ENUM(x,y,z,etc.)
允许您输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。
注释:这些值是按照您输入的顺序排序的。
可以按照此格式输入可能的值: ENUM('X','Y','Z')
与 ENUM 类似,不同的是,SET 最多只能包含 64 个列表项且 SET 可存储一个以上的选择。
Number 类型:
数据类型描述
TINYINT(size)
带符号-128到127 ,无符号0到255。
SMALLINT(size)
带符号范围-3,无符号0到65535, size 默认为 6。
MEDIUMINT(size)
带符号范围-88607,无符号的范围是0到。 size 默认为9
带符号范围-到,无符号的范围是0到。 size 默认为 11
BIGINT(size)
带符号的范围是-75807,无符号的范围是0到。size 默认为 20
FLOAT(size,d)
带有浮动小数点的小数字。在 size 参数中规定显示最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(size,d)
带有浮动小数点的大数字。在 size 参数中规显示定最大位数。在 d 参数中规定小数点右侧的最大位数。
DECIMAL(size,d)
作为字符串存储的 DOUBLE 类型,允许固定的小数点。在 size 参数中规定显示最大位数。在 d 参数中规定小数点右侧的最大位数。
注意:以上的 size 代表的并不是存储在数据库中的具体的长度,如 int(4) 并不是只能存储4个长度的数字。
实际上int(size)所占多少存储空间并无任何关系。int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。就是在显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。
1、int的值为10 (指定zerofill)
int(9)显示结果为
int(3)显示结果为010
就是显示的长度不一样而已 都是占用四个字节的空间
Date 类型:
数据类型描述
日期。格式:YYYY-MM-DD
注释:支持的范围是从 '' 到 ''
DATETIME()
*日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS
注释:支持的范围是从 ' 00:00:00' 到 ' 23:59:59'
TIMESTAMP()
*时间戳。TIMESTAMP 值使用 Unix 纪元(' 00:00:00' UTC) 至今的秒数来存储。格式:YYYY-MM-DD HH:MM:SS
注释:支持的范围是从 ' 00:00:01' UTC 到 ' 03:14:07' UTC
时间。格式:HH:MM:SS
注释:支持的范围是从 '-838:59:59' 到 '838:59:59'
2 位或 4 位格式的年。
注释:4 位格式所允许的值:1901 到 2155。2 位格式所允许的值:70 到 69,表示从 1970 到 2069。
*即便 DATETIME 和 TIMESTAMP 返回相同的格式,它们的工作方式很不同。在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。
SQL Server 数据类型
String 类型:
数据类型描述存储
固定长度的字符串。最多 8,000 个字符。
Defined width
varchar(n)
可变长度的字符串。最多 8,000 个字符。
2 bytes + number of chars
varchar(max)
可变长度的字符串。最多 1,073,741,824 个字符。
2 bytes + number of chars
可变长度的字符串。最多 2GB 文本数据。
4 bytes + number of chars
固定长度的 Unicode 字符串。最多 4,000 个字符。
Defined width x 2
可变长度的 Unicode 字符串。最多 4,000 个字符。
nvarchar(max)
可变长度的 Unicode 字符串。最多 536,870,912 个字符。
可变长度的 Unicode 字符串。最多 2GB 文本数据。
允许 0、1 或 NULL
固定长度的二进制字符串。最多 8,000 字节。
可变长度的二进制字符串。最多 8,000 字节。
varbinary(max)
可变长度的二进制字符串。最多 2GB。
可变长度的二进制字符串。最多 2GB。
Number 类型:
数据类型描述存储
允许从 0 到 255 的所有数字。
允许介于 -32,768 与 32,767 的所有数字。
允许介于 -2,147,483,648 与 2,147,483,647 的所有数字。
允许介于 -9,223,372,036,854,775,808 与 9,223,372,036,854,775,807 之间的所有数字。
decimal(p,s)
固定精度和比例的数字。
允许从 -10^38 +1 到 10^38 -1 之间的数字。
p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。
s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。
numeric(p,s)
固定精度和比例的数字。
允许从 -10^38 +1 到 10^38 -1 之间的数字。
p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。
s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。
smallmoney
介于 -214,748.3648 与 214,748.3647 之间的货币数据。
介于 -922,337,203,685,477.5808 与 922,337,203,685,477.5807 之间的货币数据。
从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。
n 参数指示该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。
4 或 8 字节
从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。
Date 类型:
数据类型描述存储
从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。
从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。
smalldatetime
从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。
仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。
仅存储时间。精度为 100 纳秒。
datetimeoffset
与 datetime2 相同,外加时区偏移。
存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 值基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。
其他数据类型:
数据类型描述
sql_variant
存储最多 8,000 字节不同数据类型的数据,除了 text、ntext 以及 timestamp。
uniqueidentifier
存储全局唯一标识符 (GUID)。
存储 XML 格式化数据。最多 2GB。
存储对用于数据库操作的指针的引用。
存储结果集,供稍后处理。
阅读(...) 评论()MySQL 教程
MySQL 数据类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
MySQL支持所有标准SQL数值数据类型。
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
范围(有符号)
范围(无符号)
(-128,127)
(-32 768,32 767)
(0,65 535)
(-8 388 608,8 388 607)
(0,16 777 215)
INT或INTEGER
(-2 147 483 648,2 147 483 647)
(0,4 294 967 295)
(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)
(0,18 446 744 073 709 551 615)
极大整数值
(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)
0,(1.175 494 351 E-38,3.402 823 466 E+38)
单精度浮点数值
(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
双精度浮点数值
对DECIMAL(M,D) ,如果M&D,为M+2否则为D+2
依赖于M和D的值
依赖于M和D的值
日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。
大小(字节)
YYYY-MM-DD
'-838:59:59'/'838:59:59'
时间值或持续时间
00:00:00/ 23:59:59
YYYY-MM-DD HH:MM:SS
混合日期和时间值
00:00:00/2038
结束时间是第
秒,北京时间
11:14:07,格林尼治时间 日 凌晨 03:14:07
YYYYMMDD HHMMSS
混合日期和时间值,时间戳
字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
定长字符串
0-65535 字节
变长字符串
不超过 255 个字符的二进制字符串
短文本字符串
0-65 535字节
二进制形式的长文本数据
0-65 535字节
长文本数据
MEDIUMBLOB
0-16 777 215字节
二进制形式的中等长度文本数据
MEDIUMTEXT
0-16 777 215字节
中等长度文本数据
0-4 294 967 295字节
二进制形式的极大文本数据
0-4 294 967 295字节
极大文本数据
CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。
BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。
有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。
感谢您的支持,我会继续努力的!
扫码打赏,你说多少就多少
记住登录状态
重复输入密码oracle 所有的数据类型_百度知道
oracle 所有的数据类型
我有更好的答案
Oracle数据库的核心是表,表中的列使用到的常见数据类型如下:对应NUMBER类型的示例:对于日期类型,可以使用sysdate内置函数可以获取当前的系统日期和时间,返回DATE类型,用systimestamp函数可以返回当前日期、时间和时区。
在职公务员
但是数据的具体保存是在数据库外部进行的、分、NCLOB等大的对象数据类型所取代ORACLE的数据类型 --
ORACLE的数据类型常用的数据库字段类型如下:字段类型 中文说明 限制条件 其它说明CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度的字符串 最大长度4000 bytes
可做索引的最大长度749NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作RAW 固定长度的二进制数据 最大长度2000 bytes
可存放多媒体图象声音等LONG RAW 可变长度的二进制数据 最大长度2G 同上BLOB 二进制数据 最大长度4G CLOB 字符数据 最大长度4G NCLOB 根据字符集而定的字符数据 最大长度4G BFILE 存放在数据库外的二进制数据 最大长度4G ROWID 数据表中记录的唯一行号 10 bytes ********.****;nclob 无 三种大型对象(LOB),如果要进行字符搜索就要用varchar2类型。long是一种较老的数据类型,将来会逐渐被BLOB、CLOB,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575,将来会逐渐被BLOB、CLOB,在定义中还包括小时。
raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。raw是一种较老的数据类型,将来会逐渐被BLOB,Oracle 8i实实在在地将这些数据存储在数据库内部保存。LOB有几种类型,取决于你使用的字节的类型.****格式,*为0或1NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytesNUMBER(P,S) 数字类型 P为整数位,S为小数位DECIMAL(P、视频等非文本文件。在同一张表中不能同时有long类型和long raw类型,Oracle 8i其实在内部是按7个字节来保存日期数据、NCLOB等大的对象数据类型所取代,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频,则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。如:number(5,最大长度是4GB。这种外部的LOB类型。如、视频等非文本文件,最大长度是4GB,S为小数位INTEGER 整数类型 小的整数FLOAT 浮点数类型 NUMBER(38),双精度REAL 实数类型 NUMBER(63),精度更高数据类型 参数 描述 char(n) n=1 to 2000字节 定长字符串、秒,用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。如果数据长度没有达到最大值n。VARCHAR2是最常用的数据类型,Oracle 8i会根据数据大小自动调节字段长度,如果你的数据前后有空格,Oracle 8i会自动将其删去,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节) varchar2(n) n=1 to 4000字节 可变长的字符串,n) m=1 to 38n=-84 to 127 可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数;clob &#47.32。如:number(3。可做索引的最大长度3209。
bfile 无 在数据库外部保存的大型二进制对象文件。可以执行读取、存储。 number(m、CLOB、NCLOB等大的对象数据类型所取代。
long raw 无 可变长二进制数据。缺省格式为DD-MON-YY,如07-11月-00 表示日。
long 无 可变长字符列:number(5,2),最大长度限制是2GB,用于不需要作字符串搜索的长串数据,0),输入575.316,真正保存的数据是575。
date 无 从公元前日到公元日的所有合法日期。
&#47、查询BFILE,long raw也是一种较老的数据类型、写入等特殊操作。Oracle 8i可以读取,通过数据库记录变化情况,S) 数字类型 P为整数位
本回答被网友采纳
为您推荐:
其他类似问题
您可能关注的内容
oracle的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。30被浏览749分享邀请回答zh.wikipedia.org/zh-cn/%E8%BE%B2%E6%9B%86方法很多,自己定义一套规则就是了,或者写一套百年内的农历公历转换也是可以实现的。6添加评论分享收藏感谢收起1添加评论分享收藏感谢收起写回答PostgreSQL数据类型
现在位置: >
PostgreSQL数据类型
PostgreSQL数据类型来源:网络整理&&& 由 网友投稿 更新版本&&& 浏览:人次
本章讨论数据类型。在创建表的同时,要求每列都要指定数据类型,即什么样的数据要存储在表中的字段。 www.yiibai.com
这使几个好处: yiibai.com
一致性:&对相同的数据类型的列的操作给出了一致的结果,通常是最快的。 www.yiibai.com
验证:&正确使用的数据类型表示数据和拒绝的范围之外的数据类型的数据格式验证。 yiibai.com
压缩:&作为一列可以存储单一类型的值,它被存储在一个紧凑的方式。 yiibai.com
性能:&适当地使用的数据类型给出最有效的数据存储。存储的值可以被快速处理,从而提高性能。 www.yiibai.com
PostgreSQL支持一系列广泛的数据类型。此外,用户可以使用SQL命令CREATE TYPE创建自己的自定义数据类型。在PostgreSQL中有不同类别的数据类型。如下: www.yiibai.com
数值类型由两个字节,4字节和8字节的整数,4字节和8字节的浮点数和可选精度的小数。下表列出了可用的类型。 www.yiibai.com
Storage Size
Description
small-range integer
-32768 to +32767
typical choice for integer
large-range integer
-4775808 to 4775807
user-specified precision,exact
up to 131072 digits befo up to 16383 digits after the decimal point
user-specified precision,exact
up to 131072 digits befo up to 16383 digits after the decimal point
variable-precision,inexact
6 decimal digits precision
double precision
variable-precision,inexact
15 decimal digits precision
smallserial
small autoincrementing integer
1 to 32767
autoincrementing integer
large autoincrementing integer
1 to 4775807
货币类型存储的货币金额与一个固定的分数精度。可以转换为金钱的数字,int和bigint数据类型的值。不推荐使用浮点数来处理金钱的潜力,由于舍入误差。 yiibai.com
Storage Size
Description
currency amount
-47758.08 to +47758.07
下表列出了可在PostgreSQL通用字符类型。 www.yiibai.com
character varying(n), varchar(n)
variable-length with limit
character(n), char(n)
fixed-length, blank padded
variable unlimited length
二进制数据类型
bytea数据类型允许存储二进制字符串,如下面的表格中说明。 www.yiibai.com
Storage Size
Description
1 or 4 bytes plus the actual binary string
variable-length binary string
日期/时间类型
PostgreSQL支持全套的SQL日期和时间类型,列于下表。根据公历日期计算。在这里,所有的类型有日期类型以外,其分辨率为day1微秒/14位的解析度。 www.yiibai.com
Storage Size
Description
High Value
timestamp [(p)] [without time zone ]
both date and time (no time zone)
timestamp [(p) ] with time zone
both date and time, with time zone
date (no time of day)
5874897 AD
time [ (p)] [ without time zone ]
time of day (no date)
time [ (p)] with time zone
times of day only, with time zone
00:00:00+1459
24:00:00-1459
interval [fields ] [(p) ]
time interval
PostgreSQL提供了标准的SQL类型布尔值。布尔类型可以有几种状态:true,false,和第三状态null,这是SQL空值表示。 www.yiibai.com
Storage Size
Description
state of true or false
枚举(枚举)类型的数据类型,包括静态,有序设置的值。在许多编程语言支持枚举类型,它们是相等。 yiibai.com
Unlike other types, Enumerated Types need to be created using CREATE TYPE command. This type is used to store a static, ordered set of values, for example compass directions, i.e. NORTH, SOUTH, EAST, and WEST or days of the week as below: yiibai.com
CREATE TYPE week AS ENUM ('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'); www.yiibai.com
枚举一旦产生,它们可以像任何其他类型。 www.yiibai.com
几何数据类型表示二维空间对象。最根本的不同点是形成的所有其他类型的基础。 yiibai.com
Storage Size
Representation
Description
Point on a plane
Infinite line (not fully implemented)
((x1,y1),(x2,y2))
Finite line segment
((x1,y1),(x2,y2))
Rectangular box
((x1,y1),(x2,y2))
16+16n bytes
Closed path (similar to polygon)
((x1,y1),...)
16+16n bytes
[(x1,y1),...]
Polygon (similar to closed path)
((x1,y1),...)
&(x,y),r& (center point and radius)
网络地址类型
PostgreSQL提供的数据类型来存储的,的地址和MAC地址。这是更好地使用这些类型,而不是纯文本类型存储网络地址,因为这些类型提供输入错误检查和特殊的操作和函数。 www.yiibai.com
Storage Size
Description
7 or 19 bytes
IPv4 and IPv6 networks
7 or 19 bytes
IPv4 and IPv6 hosts and networks
MAC addresses
位串类型用于存储位掩码。他们要么是0或1。 SQL位类型有两种:(n)的位而变位(n)的,其中n是一个正整数 www.yiibai.com
文本搜索类型
这个类型支持全文检索,这是通过自然语言文档的集合的搜索,找到那些最符合查询活动。这有两种数据类型: yiibai.com
This is a sorted list of distinct words that have been normalized to merge different variants of the same word, called as &lexemes&.
This stores lexemes that are to be searched for, and combines them honoring the Boolean operators & (AND), | (OR), and ! (NOT). Parentheses can be used to enforce grouping of the operators.
一个UUID(通用唯一标识符)写成小写的十六进制数字序列,由连字号,特别是一组8位数字,然后由三组4位数字,然后由一组12位数字分开几组,总32位,128位代表。 yiibai.com
一个UUID的例子是:&550ed4-a716- yiibai.com
xml数据类型可以用来存储XML数据。对于存储XML数据,首先创建XML值函数XMLPARSE如下: www.yiibai.com
XMLPARSE (DOCUMENT '&?xml version=&1.0&?&
&tutorial&
&title&PostgreSQL Tutorial &/title&
&topics&...&/topics&
&/tutorial&')
XMLPARSE (CONTENT 'xyz&foo&bar&/foo&&bar&foo&/bar&') yiibai.com
JSON数据类型可以用来存储(JavaScript对象符号)数据。这样的数据也可以被存储为文本,但json数据类型具有的优点是检查每个存储的值是否为有效的JSON值。也有相关的支持功能可以直接用来处理JSON数据类型,如下所示: yiibai.com
Example Result
array_to_json('{{1,5},{99,100}}'::int[])
[[1,5],[99,100]]
row_to_json(row(1,'foo'))
{&f1&:1,&f2&:&foo&}
阵列/数组类型
PostgreSQL的机会定义为可变长度的多维数组的列一个表。任何内置或用户定义的基本类型数组,枚举类型,或者可以创建复合型。 www.yiibai.com
DECLARATION OF ARRAYS
数组类型可以声明为: yiibai.com
CREATE TABLE monthly_savings (
name text,
saving_per_quarter integer[],
scheme text[][]
); yiibai.com
或通过使用关键字&ARRAY&: www.yiibai.com
CREATE TABLE monthly_savings (
name text,
saving_per_quarter integer ARRAY[4],
scheme text[][]
); www.yiibai.com
数组的值可以插入一个文本常量,内附大括号内的元素值,并用逗号将它们隔开。例子如下: www.yiibai.com
INSERT INTO monthly_savings
VALUES ('Manisha',
'{2, 2}',
'{{&FD&, &MF&}, {&FD&, &Property&}}'); yiibai.com
用于访问阵列的一个例子如下所示。下面的命令将选择人员,他们存储在第二,第四个。 yiibai.com
SELECT name FROM monhly_savings WHERE saving_per_quarter[2] & saving_per_quarter[4]; yiibai.com
修改数组的一个例子如下所示。 www.yiibai.com
UPDATE monthly_savings SET saving_per_quarter = '{,}'
WHERE name = 'Manisha'; www.yiibai.com
或数组表达式语法: yiibai.com
UPDATE monthly_savings SET saving_per_quarter = ARRAY[25000,25000,27000,27000]
WHERE name = 'Manisha'; www.yiibai.com
寻找ARRAYS
搜索数组的一个例子如下所示。 www.yiibai.com
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; yiibai.com
如果数组的大小是已知的上述搜索方法都可以使用。否则,下面的例子说明如何时要搜索的大小是不知道的。 yiibai.com
SELECT * FROM monthly_savings WHERE 10000 = ANY (saving_per_quarter); www.yiibai.com
此类型代表一个字段名和数据类型,即结构的一个表中的行或记录列表。 www.yiibai.com
复合类型声明
下面的例子演示如何声明一个复合类型: www.yiibai.com
CREATE TYPE inventory_item AS (
name text,
supplier_id integer,
price numeric
); www.yiibai.com
此数据类型可用于在创建表如下所示: yiibai.com
CREATE TABLE on_hand (
item inventory_item,
count integer
); www.yiibai.com
复合值输入
复合值可以插入文字常量,封装领域括号内的值,并用逗号将它们隔开。一个例子是如下: www.yiibai.com
INSERT INTO on_hand VALUES (ROW('fuzzy dice', 42, 1.99), 1000); yiibai.com
此有效的定义同上的inventory_item的。行关键字实际上是可选的表达式中,只要有一个以上的字段。 yiibai.com
访问复合类型
要访问一个复合列的字段,字段名,使用点很像选择字段从一个表名。例如,要选择一些子字段,on_hand示例表的查询将如下所示: www.yiibai.com
SELECT (item).name FROM on_hand WHERE (item).price & 9.99; yiibai.com
甚至可以使用表名(例如,在一个多表查询),像这样: yiibai.com
SELECT (on_hand.item).name FROM on_hand WHERE (on_hand.item).price & 9.99; www.yiibai.com
范围类型的数据类型,采用了一系列数据。范围类型可以是离散的范围(例如,所有的整数值1到10)或连续范围(例如任何时间点的上午10:00到上午11:00)。 yiibai.com
内置的范围类型范围包括: yiibai.com
int4range - Range of integer yiibai.com
int8range - Range of bigint yiibai.com
numrange - Range of numeric yiibai.com
tsrange - Range of timestamp without time zone yiibai.com
tstzrange - Range of timestamp with time zone yiibai.com
daterange - Range of date www.yiibai.com
可以创建自定义的范围类型,做出新的类型的适用范围,如使用int类型为基础的IP地址范围,或者使用浮点数据类型为基础的浮动范围。 yiibai.com
范围类型支持包容性和排他性的范围边界分别使用[]和()个字符,例如: [4,9]'代表所有从包括4但不包括9的整数。 yiibai.com
对象标识符类型
对象标识符(OID)内部使用PostgreSQL作为各种系统表的主键。 OIDS IfWITH指定或default_with_oids配置变量,只有在这样的情况下启用的OID被添加到用户创建的表。下表列出了几个别名类型。 OID别名类型有没有自己的操作,除了专门的输入和输出过程。 yiibai.com
References
Description
Value Example
numeric object identifier
function name
regprocedure
function with argument types
pg_operator
operator name
regoperator
pg_operator
operator with argument types
*(integer,integer) or -(NONE,integer)
relation name
data type name
pg_ts_config
text search configuration
regdictionary
pg_ts_dict
text search dictionary
PostgreSQL类型系统包含了一些特殊用途的统称为伪类型的项。一个伪类型不能被用作列的数据类型,但它可以用来声明一个函数的参数或结果类型。下表列出了现有的伪类型。 www.yiibai.com
Indicates that a function accepts any input data type.
anyelement
Indicates that a function accepts any data type.
Indicates that a function accepts any array data type.
anynonarray
Indicates that a function accepts any non-array data type.
Indicates that a function accepts any enum data type.
Indicates that a function accepts any range data type.
Indicates that a function accepts or returns a null-terminated C string.
Indicates that a function accepts or returns a server-internal data type.
language_handler
A procedural language call handler is declared to return language_handler.
fdw_handler
A foreign-data wrapper handler is declared to return fdw_handler.
Identifies a function returning an unspecified row type.
A trigger function is declared to return trigger.
Indicates that a function returns no value.
www.yiibai.com
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,传播学习教程;
转载请注明:文章转载自:易百教程 [http://www.yiibai.com]
本文标题:PostgreSQL数据类型
转载请保留原文链接:
上一篇: &&&&
易百教程提供的内容仅用于培训。我们不保证内容的正确性。通过使用本站内容而可能带来的风险与本站无关。易百教程的所有内容仅供测试,对任何法律问题及风险不承担任何责任。
当使用本站时,代表您已接受了本站的使用条款和隐私条款。版权所有,保留一切权利!

我要回帖

更多关于 数据库所有的数据类型 的文章

 

随机推荐