Postgresql与Oralce常用用法区别总结
日期操作
1. 操作当前日期和时间
oracle
Select SYSDATE FROM dual;
PostgreSQL
Select CURRENT_DATE;
Select NOW();返回日期时间还包括时区
2. 操作时间的获取子域
oracle :
Select TO_CHAR(SYSDATE,'Day') FROM dual; PostgreSQL :
Select DATE_PART('dow',date 'now'); //dow = day of week
Select DATE_PART('hour', timestamp 'now')
oracle中的TO_CHAR可以从日
期中拿到所需要的子域,日期,小时,分钟等。
3. 时间间隔,在一些应用中需要知道两个时间间隔多远
oracle :
Select TO_DATE('25-Nov-2000','dd-mon-yyyy') - TO_DATE('25-Aug-1969','dd-mon-yyyy') FROM dual; PostgreSQL :
Select AGE(CURRENT_DATE, '25-Aug-1969');
测量不同时间的间隔,不同的数据库之间函数语法有很大的不同。
4. 日期时间格式化
oracle
Select TO_CHAR(SYSDATE,'dd-Mon-yyyy hh:mi:ss PM') FROM dual;
PostgreSQL
Select TO_CHAR (timestamp(CURRENT_DATE),'dd-Mon-yyyy hh:mi:ss PM');
字符串操作
1. 字符串中包含字符
oracle
Select INSTR('Great','eat') FROM dual;
PostgreSQL
Select POSITION('eat' IN 'great');
通过上面的这些函数可以确定字符串在另一个字符串中的位置(及另一个字符串包含这个字符串的位置)。
2. 字符串去掉空格
oracle
Select LTRIM(' sql_in_a_nutshell'),
Select RTRIM('sql_in_a_nutshell '),
TRIM(' sql_in_a_nutshell ')
FROM dual;
PostgreSQL
Select TRIM(LEADING FROM ' sql_in_a_nutshell'),
TRIM(TRAILING FROM 'sql_in_a_nutshell '),
TRIM(BOTH FROM ' sql_in_a_nutshell ');
3. 上面清除空格相反的操作,添加空格
oracle
Select LPAD(('sql_in_a_nutshell', 20, ' '),
RPAD(('sql_in_a_nutshell', 20, ' ')
FROM dual;
PostgreSQL
Select LPAD('sql_in_a_nutshell', 20, ' '),
RPAD('sql_in_a_nutshell', 20, ' ');
上面支持该操作的数据库的函数都相同,并且都包括从左和右添加空格的方法。
4. 字符串替换
oracle [returns 'wabbit_hunting_season']
Select
REPLACE('wabbit_season','it_','it_hunting_')
FROM dual;
PostgreSQL
Select TRANSLATE('wabbit_season','it_','it_hunting_');
Select replace('wabbit_season','it_','it_hunting_');
5. 字符串截取
oracle
Select SUBSTR('wabbit_duck_season', 7, 11)
FROM dual;
PostgreSQL
Select SUBSTR('wabbit_duck_season', 7, 11);
条件判断
1. 条件判断
oracle
Select DECODE (payments_info,'CR','Credit','DB','Debit', null) FROM dual; PostgreSQL
Select CASE
WHEN foo = 'hi' THEN 'there'
WHEN foo = 'good' THEN 'bye'
ELSE 'default'
END
FROM t2;
上面的函数我们就不多作解释了,很容易理解,我们来说一下mysql的if()函数,如果第一个参数为
true那么返回地二个参数,否则返回第三个参数。
2. 判断空函数
oracle
Select NVL(foo,'Value is Null')
FROM dual;
PostgreSQL
Select coalesce(foo,'Value is Null')
3. 下面与上面的函数不同
oracle
Select DECODE(foo,'Wabbits!',NULL)
FROM dual;
PostgreSQL
Select NULLIF(foo, 'Wabbits!');
函数语法:NULLIF(expression1, expression2)
如果 expression1 等于 expression2则返回 NULL,如果expression1的值为null,也返回NULL
Postgresql与Oralce常用用法区别总结的更多相关文章
- order_by_、group_by_、having的用法区别
写于 2012-11-20 22:14 doc文档上. Having 这个是用在聚合函数的用法.当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算.运算完后 ...
- php中strstr、strrchr、substr、stristr四个函数用法区别
php中strstr.strrchr.substr.stristr四个函数用法区别: php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,常用的是s ...
- html中的alt和title用法区别
html中的alt和title用法区别 首先明确一下概念,alt是html标签的属性,而title既是html标签,又是html属性.title标签这个不用多说,网页的标题就是写在<title& ...
- centos的vi常用用法
centos的vi常用用法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...
- 转 SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题
SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题 SQL Union和SQL Union All用法 SQL UNION 操作符 UN ...
- MySql与SqlServer的一些常用用法的差别
MySql与SqlServer的一些常用用法的差别 本文为转载 本文将主要列出MySql与SqlServer不同的地方,且以常用的存储过程的相关内容为主. 1. 标识符限定符 SqlServer [] ...
- [转]ssh常用用法小结
ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...
- 【三支火把】---一份程序看懂C程序printf()的几种常用用法
闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一 ...
- grep参数说明及常用用法
grep参数说明及常用用法 趁着午休的时间把自己经常使用的一些grep命令整理一下. 方便以后查看. 后续会逐步把awk/sed/find等常用的命令理一理. 增强下记忆. 也算是对得起自己了. ^^ ...
随机推荐
- Flink入门使用
完全参考:Flink1.3QuickStart 启动本地运行 首先找一台安装了hadoop的linux. 将安装包解压,到bin目录启动local模式的脚本. tar -zxvf flink-1.3. ...
- asp.net core 中 sql server 2017 数据库连接测试
使用sql server 2017 进行连接: 配置appsettings.json文件 { "ConnectionStrings": { "DefaultConnect ...
- Spring Mybatis-分页插件使用
Mybatis分页切入点 Mybatis内部有个plugins(插件)概念,本质上属于拦截器的思想.具体的解析可见外文MyBatis拦截器原理探究.本文将在此基础上直接展示实现代码和其他的相关解析 分 ...
- 阿里巴巴Java开发规约插件地址
Git地址: https://github.com/alibaba/p3c eclipse 安装地址: https://p3c.alibaba.com/plugin/eclipse/update
- 表的操作(Oracle和DB2)
asc和desc 分别表示升序和降序 select * from tablename order by id desc :根据id字段按照降序排列,从大到小 select * from tablena ...
- 通过核心概念了解webpack工作机制
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency gr ...
- bzoj 2669 [cqoi2012]局部极小值 DP+容斥
2669: [cqoi2012]局部极小值 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 838 Solved: 444[Submit][Status ...
- XP环境下的网络证书问题
项目过程中,由于是收银系统需要从服务器获取支付二维码,会产生SSL连接的问题,在win7.win10上都没有问题,放到WIN XP上出现了The underlying connection was c ...
- Yii2 Restful Api 401
采用Yii2 Restful Api方式为APP提供数据,默认你已经做好了所有的编码和配置工作.采用Postman测试接口: 出现这个画面的一个可能原因是:access_token的写法有误,如果你使 ...
- 沉淀,再出发——安装windows10和ubuntu kylin15.04双系统心得体会
安装windows10和ubuntu kylin15.04双系统心得体会 一.安装次序 很简单,两种安装次序,"先安装windows后安装linux:先安装linux后安装wind ...