日期操作

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常用用法区别总结的更多相关文章

  1. order_by_、group_by_、having的用法区别

    写于 2012-11-20 22:14  doc文档上. Having 这个是用在聚合函数的用法.当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算.运算完后 ...

  2. php中strstr、strrchr、substr、stristr四个函数用法区别

    php中strstr.strrchr.substr.stristr四个函数用法区别: php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,常用的是s ...

  3. html中的alt和title用法区别

    html中的alt和title用法区别 首先明确一下概念,alt是html标签的属性,而title既是html标签,又是html属性.title标签这个不用多说,网页的标题就是写在<title& ...

  4. centos的vi常用用法

    centos的vi常用用法 vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的 ...

  5. 转 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 ...

  6. MySql与SqlServer的一些常用用法的差别

    MySql与SqlServer的一些常用用法的差别 本文为转载 本文将主要列出MySql与SqlServer不同的地方,且以常用的存储过程的相关内容为主. 1. 标识符限定符 SqlServer [] ...

  7. [转]ssh常用用法小结

    ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...

  8. 【三支火把】---一份程序看懂C程序printf()的几种常用用法

    闲来继续巩固我的学习之路,今天略微整理了一下,C程序中Printf()的一些常用用法,虽然自己以前好像会,但是不够系统,今天大致整理了一些,先贴上来看看,以后在看到其他,继续补充,希望能帮到一些像我一 ...

  9. grep参数说明及常用用法

    grep参数说明及常用用法 趁着午休的时间把自己经常使用的一些grep命令整理一下. 方便以后查看. 后续会逐步把awk/sed/find等常用的命令理一理. 增强下记忆. 也算是对得起自己了. ^^ ...

随机推荐

  1. C++ 内存分配(new,operator new)面面观 (转)

    本文主要讲述C++ new运算符和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中的应用. 一 new ...

  2. 《CSS核心技术详解》

    前言 看似简单的CSS,却暗藏玄机,那是我们摸爬滚打好长时间后悟出的真理. 在很长的一段时间里,我并没有重视CSS,觉得CSS很简单,无非就是一些属性:后来才发现自己小看了CSS,对CSS的了解实在是 ...

  3. vue调试工具之 vue-devtools的安装

    这里介绍一下vue-devtools的安装方法之一: chrome浏览器的应用商店不能直接访问(需要跨域),所以直接应用商店安装的方法就行不通了. 1.到github主页去下载安装: git clon ...

  4. zabbix安装步骤

    第一步:安装环境 Zabbix要求的环境 组件 版本要求 Apache版本 1 .3.1 2 MySQL版本 5.0.3 PHP版本 5.4.0 本次安装的环境 组件 版本要求 操作系统 CentOS ...

  5. [经典] 使用Python批量重命名iPhone拍摄的照片-按照拍摄时间重命名

    #!/usr/bin/env python # -*- coding: utf-8 -*- ''' 批量修改照片文件名称的Python脚本程序. 遍历指定目录(含子目录)的照片文件,根据拍照时间将照片 ...

  6. zabbix客户端一键安装脚本(主动模式监控)

    #!/bin/bash basepath=$(cd `dirname $0`; pwd)SHELL_DIR="${basepath}/shell"PACKAGE_DIR=" ...

  7. Java反射获取字节码以及判断类型

    一.获取类的字节码的三种方法: 1.使用Class.class   Class<?> c1=String.class; 2.使用实例.getClass()   String s= Clas ...

  8. Vscode 插件

    HTML Snippets Markdown All in One Markdown PDF Markdown Priview Enhanced Markdown TOC Open HTML in D ...

  9. ActiveMq笔记1-消息可靠性理论

    原博客:http://shift-alt-ctrl.iteye.com/blog/2020182 https://mp.weixin.qq.com/s/h74d6LtGB5M8VF0oLrXdCA 我 ...

  10. Oracle trunc() 函数处理数字、日期的整理

    --Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013- ...