postgre中声明的各种数据类型很奇葩
比如说:
int会分成
bigint和smallint
字符会分成
character varying(n), varchar(n)
今天在查Exception的时候还发现了一个bpchar类型
这个类型属于是字符串类型,只不过这个字符串类型可以是很长的字符串类型
例如:
select n'233' as num; //这里是bpchar类型的字符串
select '233'::bpchar as num; //这里是bpchar类型的字符串
select '233' as num; //这里是TEXT类型的字符串
而且在postgre里面, “::”这个符号代表的是强制类型转换,把左侧的数据转成右侧定义的数据类型。
例如:
name table.nameOne%TYPE;
BEGIN
name nameOne;
subtr(nameOne::varchar,1,2); //把nameOne的类型强制转成varchar