【PostgreSql】------- Sqlserver与postgreSQL 区别差异

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
简介: 【PostgreSql】------- Sqlserver与postgreSQL 区别差异
 
1.sqlserver----sql语句:
 
   select * from  DCS_RISK where 1=1  and  SUPERINTENDENT_DPT_ID IN (select ID FROM ORG_DEPARTMENT WHERE CODEPATH LIKE'03.03.%') AND STATUS_NAME ='已确认' AND ISNULL(IS_CLOSED,0)=0 ORDER BY  FIND_TIME DESC  offset 0 rows fetch next 15 rows only
 
postgresql-----sql语句: 
  
 select * from  "DCS_RISK" where 1=1  and  "SUPERINTENDENT_DPT_ID" IN (select "ID" FROM "ORG_DEPARTMENT" WHERE "CODEPATH" LIKE'03.02.%') AND "STATUS_NAME" ='已确认' and ("IS_CLOSED" IS NULL OR "IS_CLOSED"=0)  ORDER BY  "FIND_TIME" DESC  offset 0 rows fetch next 15 rows only
 
区别:
1.1 postgresql表名与字段名要用双引号 否则将会变成小写字符.
 
解决办法:
表名 SQLSERVER-> DCS_RISK == POSTGRESQL->”DCS_RISK”;
字段名 SQLSERVER-> STATUS_NAME == POSTGRESQL->”STATUS_NAME”
 
备注:(sqlserver 表中 表名与字段名上添加“双引号”不会报错 并且没有“字符大小写”控制)。
 
1.2 Sqlserver中ISNULL函数在postgresql 中是不能使用的!
 
   解决办法:ISNULL(IS_CLOSED,0)=0 == ("IS_CLOSED" IS NULL OR "IS_CLOSED"=0)
 
1.3 Sqlserver 中 字符类型是数值型 按 空字符串 查询 可以使用 在 postgresql中 字符类型是数值型是不可使用的!
 
   例如:
DCS_RISK表中的 IS_CLOSED 它是int 类型   使用 IS_CLOSED=”” 作为条件会报错!
 
------------------------------------------------END-----------------------------------------
 
 
 
 
4.PostgreSQL和SQL Server的模糊匹配like是不一样的,PostgreSQL的like是区分大小写的,SQL Server不区分。如果想让PostgreSQL的like也不区分大小写的话,可以使用ilike。或者使用lower或者upper都转换成小写或者大写再模糊匹配,这种方式的SQL两种数据库都兼容。
select * from t_user where name ilike '%zhang%';
select * from t_user where upper(name) like upper('%zhang%');
select * from t_user where lower(name) like lower('%zhang%');
 
5.PostgreSQL在做条件查询的时候是强类型校验的,但是SQL Server是弱类型。也就是说 用数值类型值 查询字符类型值 是报错的 需要用 单引号包起来呀  反之 用字符串数值 查询 数组类型值 是不报错的
select * from t_user where code = 77771; // code 是字符类型 77771 是数据值型 执行就会报错 所以要用 ‘77771’ 单引号包起来 查询
 
6.SQL Server的查询如果末尾有空白的话,SQL Server会忽略但是PostgreSQL不会。
 
7.PostgreSQL和SQL Server的默认order by行为是不一致的。order by的字段如果是null,PostgreSQL会将其放在前面,SQLServer则将其放在后面。
 
8.SQL Server使用" + “号来拼接字符串,并且在2012版本之前不支持concat函数。PostgreSQL使用” || "来拼接字符串,同时支持concat函数。
AI 代码解读
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
CTE vs 子查询:深入拆解PostgreSQL复杂SQL的隐藏性能差异
本文深入探讨了PostgreSQL中CTE(公共表表达式)与子查询的选择对SQL性能的影响。通过分析两者底层机制,揭示CTE的物化特性及子查询的优化融合优势,并结合多场景案例对比执行效率。最终给出决策指南,帮助开发者根据数据量、引用次数和复杂度选择最优方案,同时提供高级优化技巧和版本演进建议,助力SQL性能调优。
103 1
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
1102 0
阿里云PolarDB是一款兼容MySQL、PostgreSQL和SQL Server等多种数据库协议的产品
阿里云PolarDB是一款兼容MySQL、PostgreSQL和SQL Server等多种数据库协议的产品
991 6
postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别
postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别
589 0
Microsoft SQL Server 迁移到 PostgreSQL 利器:Babelfish
Babelfish for PostgreSQL 加速了将 Microsoft SQL Server 应用程序迁移到 PostgreSQL 的旅程。Babelfish for PostgreSQL 是一个开源项目,可在 Apache 2.0 和 PostgreSQL 许可下使用。它使 PostgreSQL 能够理解来自 Microsoft SQL Server 编写的应用程序的查询。Babelfish 了解 SQL Server 有线协议和 Microsoft SQL Server 查询语言 T-SQL,此您不必切换数据库驱动程序或重新编写所有应用程序查询。
584 0
使用脚手架Scaffold-DbContext连接(SqlServer和PostgreSQL)
【代码】使用脚手架Scaffold-DbContext连接(SqlServer和PostgreSQL)
347 0
拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
本文深入解析PostgreSQL分区表的核心原理与优化策略,涵盖性能痛点、实战案例及压测对比。首先阐述分区表作为继承表+路由规则的逻辑封装,分析分区裁剪失效、全局索引膨胀和VACUUM堆积三大性能杀手,并通过电商订单表崩溃事件说明旧分区维护的重要性。接着提出四维设计法优化分区策略,包括时间范围分区黄金法则与自动化维护体系。同时对比局部索引与全局索引性能,展示后者在特定场景下的优势。进一步探讨并行查询优化、冷热数据分层存储及故障复盘,解决分区锁竞争问题。
108 2

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问