SQLserver和postgresql差异

SQLserver和postgresql差异数据类型
数字类型
Sql server
Numeric/
decimal
精确数值型 从-10 的38 次⽅-1,到10 的38 次⽅-1
bit
整型 其值只能是0、1 或空值
int
整型 -2 的31 次⽅到 2 的31 次⽅
smallint
整型 -2 的15 次⽅到 2 的15 次⽅
tinyint
0 到255 之间的整数
float
浮点数
real
浮点数
postgreSQL
Numeric(p,s)/
Decimal(p,s)
任意精度数值,p必须为正数,s可以为零或者正数
smallint
2字节⼩范围整数,-32768到+32767
Integer/
Int
4字节常⽤的整数,-2147483648到+2147483647
bigint
8字节⼤范围的整数,-9223372036854775808到9223372036854775807
real
4字节变精度,不精确6位⼗进制数字精度
double precision
8字节变精度,不精确15位⼗进制数字精度
serial
4字节⾃增整数,1到+2147483647
bigserial
8字节⼤范围的⾃增整数,1到9223372036854775807
字符类型
Sql server
char
定长,最⼤8000
varchar
变长,SQL Server2005后可以通过 varchar(MAX)来允许最⼤存储2G 的数据text
最多存储有2G 字符
nchar
定长,最⼤4000 国际化字符
nvarchar
变长。
ntext
最多存储有1G 国际化字符
postgreSQL
character varying(n)  varchar(n)
变长,有长度限制
character(n)
char(n)
定长,不⾜补空⽩
text
变长,⽆长度限制
"char"
1 字节,单字节内部类型
name
油管吊卡
64字节,⽤于对象名的内部类型
⽇期类型
Sql server
time
格式: hh:mm:ss[.nnnnnnn],
00:00:00.0000000 到 23:59:59.9999999,
固定5个字节
date
格式: YYYY-MM-DD,
0001-01-01 到 9999-12-31,
固定3个字节
datetime2
格式: YYYY-MM-DD hh:mm:ss[.fractional seconds],
0001-01-01 到 9999-12-31,
透水混凝土施工工艺精度⼩于3时为6个字节;精度为3和4时为7个字节。所有其他精度则需要8个字节。
postgreSQL
timestamp[(p)] [without time zone]
包括⽇期和时间
8字节
商旅系统精确到1毫秒/14位
timestamp[(p)] with time zone
⽇期和时间
8字节
精确到1毫秒/14位
interval[(p)]喷绘相纸
时间间隔
12 字节
精确到1毫秒/14位
date
只⽤于⽇期
4字节
精确到1天
time[(p)] [without time zone]
只⽤于⼀⽇内时间
8字节
精确到1毫秒/14位
伪类型
postgreSQL
void
应⽤于过程语⾔(PL/pgSQL)编写的函数
表⽰⼀个函数不返回数值
record
应⽤于过程语⾔(PL/pgSQL)编写的函数
标识⼀个函数返回⼀个未声明的⾏类型
变量定义与赋值
Sql server
3> DECLARE
4>  @testvalue AS VARCHAR(20);
5> BEGIN
6> SET @testvalue = 'First Test!';
7> PRINT( @testvalue );
8> END;
9> go
postgreSQL
SQL> DECLARE
2    testvalue VARCHAR(20);
3 BEGIN
4    testvalue := 'First Test!';
5    RAISE NOTICE 'Testvalue is %', testvalue;
6 END;
IF/ELSE控制结构
Sql server
1> DECLARE
2> @testvalue AS INT;
3> BEGIN
4> SET @testvalue = 100;
5>
6> IF @testvalue > 100
7> BEGIN
8> PRINT( '100+' );
9> END钢丝绳卷筒
10> ELSE IF @testvalue = 100
11> BEGIN
12> PRINT( '100' );
13> END
14> ELSE
15> BEGIN
16> PRINT( '100-' );
17> END
18>
19> END;
多媒体音频控制器
20> go
postgreSQL
IF ... THEN … END IF;
IF ... THEN ... ELSE … END IF;
IF ... THEN ... ELSE IF … THEN … END IF;
IF ... THEN ... ELSIF ... THEN ... ELSE … END IF; IF ... THEN ... ELSEIF ... THEN ... ELSE … END IF;(注:ELSEIF 是 ELSIF 的别名)
1 DECLARE
2  testvalue INT;
3 BEGIN
4  testvalue := 100;
5
6  IF testvalue > 100 THEN
7    RAISE NOTICE '100+';
8  ELSIF testvalue = 100 THEN

本文发布于:2024-09-22 04:16:59,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/284840.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字节   精度   函数   时间   类型   整数   返回   范围
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议