一 : Oracle lower(Upper)函数
Oraclelower(Upper)函数:
lower
select lower(user_name) from user
将 user表里的user_name字段信息中含有字母的全部转成大写的方法:
update user set user_name=Upper(user_name)
同理得到将 user表里的user_name字段信息中含有字母的全部转成小写的方法:
update user set user_name=lower(user_name)
更多Oracle相关信息见Oracle专题页面http://www.linuxidc.com/topicnews.aspx?tid=12
二 : Oracle集合操作函数:Union、UnionAll、Intersect、Minus
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。找出第一条SQL查询的不在第二条SQL语句查询结果中的那些记录比not exists, not in 性能高
可以在最后一个结果集中指定Order by子句改变排序方式。
扩展:oracle minus union / intersect minus / union intersect
三 : ORACLE日期函数LAST_DAY
格式:LAST_DAY(DATE)即 LAST_DAY(日期)
LAST_DAY函数返回指定日期对应月份的最后一天。
例:last_day(to_date('1999.11.29','yyyy.mm.dd'))返回1999年11月31日
例:last_day(to_date('2000.02.01','yyyy.mm.dd'))返回2000年2月29日
作者:张晓山东泰安新汶
四 : Oracle EXTRACT()函数
//Oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分
//语法如下:
EXTRACT (
{ YEAR | MONTH | DAY | HOUR | MINUTE | SECOND }
| { TIMEZONE_HOUR | TIMEZONE_MINUTE }
| { TIMEZONE_REGION | TIMEZONE_ABBR }
FROM { date_value | interval_value } )
//我们只可以从一个date类型中截取 year,month,day(date日期的格式为yyyy-mm-dd);
//我们只可以从一个 timestamp with time zone 的数据类型中截取TIMEZONE_HOUR和TIMEZONE_MINUTE;
select extract(year from date'2011-05-17') year from dual;
YEAR
----------
2011
select extract(month from date'2011-05-17') month from dual;
MONTH
----------
5
select extract(day from date'2011-05-17') day from dual;
DAY
----------
17
//获取两个日期之间的具体时间间隔,extract函数是最好的选择
select extract(day from dt2-dt1) day
,extract(hour from dt2-dt1) hour
,extract(minute from dt2-dt1) minute
,extract(second from dt2-dt1) second
from (
select to_timestamp('2011-02-04 15:07:00','yyyy-mm-dd hh24:mi:ss') dt1
,to_timestamp('2011-05-17 19:08:46','yyyy-mm-dd hh24:mi:ss') dt2
from dual)
/
DAY HOUR &n《嫑_犇》bsp; MINUTE SECOND
---------- ---------- ---------- ----------
102 4 1 46
--
select extract(year from systimestamp) year
,extract(month from systimestamp) month
,extract(day from systimestamp) day
,extract(minute from systimestamp) minute
,extract(second from systimestamp) second
,extract(timezone_hour from systimestamp) th
,extract(timezone_minute from systimestamp) tm
,extract(timezone_region from systimestamp) tr
,extract(timezone_abbr from systimestamp) ta
from dual
/
YEAR MONTH DAY MINUTE SECOND TH TM TR TA
---------- ---------- ---------- ---------- ---------- ---------- ---------- --------- ----------
2011 5 17 7 14.843 8 0 UNKNOWN UNK
//
五 : Oracle Systimestamp 函数
在Oracle/PLSQL中,Systimestamp 函数返回本机数据库上当前系统日期和时间(包括微秒和时区)。
Systimestamp 函数的语法是:
systimestamp
应用于:
Oracle 9i,Oracle 10g,Oracle 11g
例如:
SQL> select systimestamp from dual;
SYSTIMESTAMP
--------------------------------------------------------------------------------
10-3月 -11 01.29.18.046000 下午 +08:00
你也可以选择使用to_char()函数来转换systimestamp()函数返回的结果,例如:
SQL> select to_char(systimestamp,'SSSS.FF') from dual;
TO_CHAR(SYSTIMESTAMP,'SSSS.FF'
------------------------------
4444.593000
SQL> /
TO_CHAR(SYSTIMESTAMP,'SSSS.FF'
------------------------------
5050.828000
SQL> select to_char(systimestamp,'YYYY-MM-DD HH24:MI:SS.FF9') from dual;
TO_CHAR(SYSTIMESTAMP,'YYYY-MM-
------------------------------
2011-03-10 13:36:47.0620****0
本文来自CSDN博客,转载请标明出处.aspx
本文标题:
oracle函数-Oracle lower(Upper)函数 本文地址:
http://www.61k.com/1148468.html