PostgreSQL区别于MySQL

1.spring.datasource.validationQuery:

MySQL:SELECT 1 FROM DUAL

PostgreSQL:SELECT 1 

 

当然,MySQL不要求强制使用FROM DUAL,可以省略:

 

也可以简写成 select 1

 

注意:在oracle中不能省略 from dual

 

 

2.分页查询:

MySQL:可以使用   "limit 0, 10"、"limit 10 offset 0"和"limit 10"

PostgreSQL:不能用 "limit 0, 10";可以用 "limit 10 offset 0"和"limit 10",不然会报数据库语法错误!

 

3.时间戳问题:

  MySQL PostgreSQL
获取当前时间

select now(6);

查询结果:2022-05-03 16:18:48.005696

// 等价于 select CURRENT_TIMESTAMP(6)

// 通过对now传参数6,保留到小数点后第6位

select now() at time zone 'PRC';   

查询结果:2022-05-03 08:53:25.768331+00

// select now() 等价于 select CURRENT_TIMESTAMP

// Pg默认时间比中国时区晚8小时,所以加 at time zone 'PRC';

Pg中now函数不接受参数。默认保留6位小数

获取当前时间戳

select UNIX_TIMESTAMP(NOW(3));

查询结果:1651566325.050

SELECT extract(epoch from now());

查询结果:1651568430.366578

// 使用epoch from后自动获取系统的当前时间,无需at time zone 'PRC'

获取13位时间戳

select REPLACE (UNIX_TIMESTAMP(NOW(3)), '.', '');

查询结果:1651566834201

select CAST(EXTRACT(EPOCH FROM CURRENT_TIMESTAMP)* 1000 AS int8);

查询结果:1651568805613 

posted @ 2022-04-08 21:43  `'手可摘星辰  阅读(280)  评论(0编辑  收藏  举报