首页 > 数据库 >pgsql 和 mysql语法对比

pgsql 和 mysql语法对比

时间:2023-11-22 19:22:05浏览次数:45  
标签:语法 relevant mysql blog pgsql CAST time SELECT

超全mysql转换postgresql数据库方案

https://blog.csdn.net/weixin_42303757/article/details/128896250?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-128896250-blog-131395729.235%5Ev38%5Epc_relevant_anti_t3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-128896250-blog-131395729.235%5Ev38%5Epc_relevant_anti_t3&utm_relevant_index=5


1、!= 改为 <> (代码中,需要用cdata包起来 <![CDATA[<>]]> )
2、查询字段的别名要用双引号包起来 "
3、分页语句例:limit 0,10 改成 limit 10 offset 0
4、mysql关键字转义符去掉 
5、ifNull(字段名, 空值默认) 改成 COALESCE(字段名, 空值默认)
6、if()函数改用case when
7、locate(a, b) 改成 position(a in b)
8、convert(a using gbk) 改成 CAST(a AS text)
  现有:Convert(1000000+RowId,char)) 改 CAST(1000000+RowId AS text)
  (

  1、可以使用 CAST 函数或操作符
    SELECT CAST('123' AS integer); -- 将字符串 '123' 转换为整数
    SELECT CAST(12.34 AS text); -- 将浮点数 12.34 转换为文本
  2、你还可以使用操作符 :: 来实现类型转换
    SELECT '123'::integer; -- 将字符串 '123' 转换为整数
    SELECT 12.34::text; -- 将浮点数 12.34 转换为文本
  )
9、DATE_FORMAT(now(),'%Y%m%d%H%i%s') 改成 TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS');
10、str_to_date() 改 to_date(), TO_DATE 如果有时间,要用 TO_TIMESTAMP
11、GROUP_CONCAT()函数没有,使用 array_to_string(array_agg(target_name), ',')
12、时间差:TIME_TO_SEC(timediff(send_time, create_time)) 改为 EXTRACT(EPOCH FROM (send_time - create_time))
    timestampdiff(MINUTE,tr.create_time,NOW()) 改为 round(EXTRACT(EPOCH FROM (NOW() - tr.create_time))/60)
13、SELECT DATE '2023-07-19' + INTERVAL '1 days' AS new_date;
  select CURRENT_TIMESTAMP - INTERVAL '7 days' AS new_date;
  变量的时候:(#{touchOverdue} || 'HOUR')::INTERVAL
14、FIND_IN_SET(id,#{ids}) 换成 id::VARCHAR =ANY(string_to_array(#{ids}, ','))
15、instr()
16、字段类型和传入的变量类型必须一致
17、生成伪劣排序
mysql:Select (@i:=@i+1) As RowId,Null As Mobile From tmp_ew_customer_info a,(SELECT @i := 0) b
pgsql:Select ROW_NUMBER() OVER () as RowId,Null As Mobile From tmp_ew_customer_info a

标签:语法,relevant,mysql,blog,pgsql,CAST,time,SELECT
From: https://www.cnblogs.com/bzd1030806032/p/17850088.html

相关文章

  • MySQL语句语法练习记录
    导言:MySQL是一种广泛使用的关系型数据库管理系统,掌握MySQL语句的语法对于数据库开发和管理至关重要。本篇博客将记录一些常见的MySQL语句语法练习,并提供相关的演示示例,帮助读者更好地理解和应用MySQL语句。1.创建数据库和表创建数据库和表是开始使用MySQL的第一步。下面是一个创......
  • MySQL 基础介绍
    MySQL介绍相关概念DB(DataBase)数据库。是一个存储数据的容器DBA(DatabaseAdministrator):数据库管理员。负责数据库的管理和维护的专业人员DBMS(DatabaseManagementSystem):数据库管理系统。是一种软件,用于创建和管理数据库。App(Application):应用程序。执行特定任务或一系列任务的......
  • Spring Cloud +UniApp +MySql框架开发的智慧工地云平台源码
    智慧工地是指通过信息化技术、物联网、人工智能技术等手段,对建筑工地进行数字化、智能化、网络化升级,实现对施工全过程的实时监控、数据分析、智能管理和优化调控。智慧工地的建设可以提高工地的安全性、效率性和质量,降低施工成本,是建筑行业数字化转型升级的重要抓手。主要围绕“人......
  • 【jsp】mysql 封装类
    【jsp】mysql封装类大家拿着就能使用  packagebean;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassDBUtil{static{//MySQL5.7......
  • MySql存储树形结构,Java实现根据节点找到父节点,根据节点找到子节点
    目录数据表设计生成树(递归方式)根据节点cId返回所有的父节点pId数据表设计idparent_idnamelevel10食物121蔬菜231水果242茄果类352叶菜类363浆果类373瓜果类384番茄494辣椒4105生菜4116桑葚4id......
  • MySQL数据类型
    数据类型1.MySQL中的数据类型类型类型举例整数类型TINYINT,SMALLINT,MEDIUMINT,INTBIGINT浮点类型FLOAT,DOUBLE定点数类型DECIMAL位类型BIT日期时间类型YEAR,TIME,DATE,DATETIME,TIMESTAMP文本字符串类型CHAR,VARCHAR,TI......
  • MySQL约束
    约束概述:约束可以保证"数据完整性","数据的精确性"和"可靠性"。它会了防止数据库中会存在不符合语义规定的数据以及因错误输入从而导致数据错乱而提出的。在SQL规范中"约束"是对表中数据进行额外的条件限制。实体完整性:同一个表中,不能存在两条完全相同无法区分的记录。......
  • MySQL建库建表与管理
    建库建表与管理引入扩展:存储一条数据的过程。创建数据库。确认字段。创建数据表。插入数据。那我们先从创建库开始吧......
  • MySQL变量,流程控制与游标
    变量,流程控制与游标1.变量在MySql数据库的存储过程和函数中,可以使用变量来存储查询或计算中间结果数据,和输出最终的结果数据。在MySql数据库中,变量分为系统变量以及用户自定义变量。1.1系统变量1.1.1系统变量分类变量由系统定义,不是用户定义,属于"服务器"层面。启动......
  • MySQL触发器
    触发器1.触发器概述MySql从5.0.2版本开始支持触发器。MySql的触发器和存储过程一样,都是嵌入到MySql服务器的一段程序。触发器是由事件来触发某个操作,这些事件包括insert,update,delete事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些......