LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Sqlserver与postgreSQL 区别差异

maoxiaoming
2025年8月7日 9:18 本文热度 119
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. postgresql表名与字段名要用双引号 否则将会变成小写字符. 解决办法: 表名 SQLSERVER-> DCS_RISK == POSTGRESQL->”DCS_RISK”; 字段名 SQLSERVER-> STATUS_NAME == POSTGRESQL->”STATUS_NAME” 备注:(sqlserver 表中 表名与字段名上添加“双引号”不会报错 并且没有“字符大小写”控制)。

解决办法: 表名 SQLSERVER-> DCS_RISK == POSTGRESQL->”DCS_RISK”; 字段名 SQLSERVER-> STATUS_NAME == POSTGRESQL->”STATUS_NAME”

备注:(sqlserver 表中 表名与字段名上添加“双引号”不会报错 并且没有“字符大小写”控制)。

2. Sqlserver中ISNULL函数在postgresql 中是不能使用的!

  解决办法:ISNULL(IS_CLOSED,0)=0 == ("IS_CLOSED" IS NULL OR "IS_CLOSED"=0)


3. Sqlserver 中 字符类型是数值型 按 空字符串 查询 可以使用 在 postgresql中 字符类型是数值型是不可使用的!   例如: DCS_RISK表中的 IS_CLOSED 它是int 类型   使用 IS_CLOSED=”” 作为条件会报错! 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函数。


该文章在 2025/8/7 9:18:43 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved