惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
U
Unit 42
M
MIT News - Artificial intelligence
小众软件
小众软件
P
Proofpoint News Feed
雷峰网
雷峰网
L
LangChain Blog
S
SegmentFault 最新的问题
腾讯CDC
F
Fortinet All Blogs
A
About on SuperTechFans
WordPress大学
WordPress大学
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
Recent Announcements
Recent Announcements
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog

博客园 - 老公鸡

sharepoint 2010? Jsp中使用数据库连接池. MVC2 学习之 UrlRouting Oracle 基础学习之索引 Oracle 基本操作之sql语句 Oracle基本操作 Oracle 数据库学习一 小黑日记三 结束了 mvc 3 学习 第一天 准备 小黑 成长日记第二天 2011年6月15日,同事捡了一只小猫回来了 NHibernate 学习 第十二天 存储过程的使用 NHibernate 学习 第十一天 对多对的关系处理 NHibernate 学习 第十天 一对多的外键关系处理 NHibernate 学习 第九天 外键关系的处理之一对一 NHibernate学习 第八天 组件的运用 NHibernate学习 第七天 其它的学习资料 NHibernate学习 第六天 NHibernate 中的查询 NHibernate 学习第五天 用户表的增,删,改,查
Oracle基础学习之函数
老公鸡 · 2011-06-23 · via 博客园 - 老公鸡

1. 日期函数  默认格式为 日-月-年

extarct(类型 from 日期 )  --将指定日期抽出指定的部分 类型可以是 year,day,month,hour,minute,second

months_between (日期一,日期二)  得到两个日期中相差的月份

add_months(日期,天数)      指定日期加上指定天数

next_day(日期,星期几)      得到指定日期后面的指定星期几的日期 next_day('23-6月-11','星期一') 得到的是 2011年6月27 因为这天是星期一

last_day(日期)        得到指定日期所在月份的最后一天

emp:

SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; return CurrentYear
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; return CurrentMonth
SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; return CurrentDay

取时分秒

SELECT EXTRACT(HOUR FROM TIMESTAMP '2005-10-10 10:10:10')FROM DUAL;

日期格式转换

select to_char(sysdate,'YYYY"年"MM"月"DD"日" HH24:MI:SS') from dual;  //注意年字要用""括起来

2. DECODE()函数

语法

DECODE(值,条件1,结果1,条件2,结果2....)  相当于循环判断

emp:

select decode(u_name,'张三','男人','李四','女人') from user  

3. NVL()函数

语法

NVL(列,默认值)

emp:

select NVL(u_name,'无名') from uesrs

4. 字符函数

initcap(值)                首字母大写

lower(值)                 转为小写

upper(值)                转为大写

ltrim(值,去除内容)            左剪裁                  ltrim('abcdef','abc')   == def

rtrim(值,去除内容)            右剪裁

translate(值,替换内容,替换值)                         translate('tom and joy','ao','12' )   ==   t2m 1nd j2y

replace(值,替换内容,替换值)   将指定字符串替换成指定字符串         replace('tom and joy','o','mm')  ==  tmmm and jmmy

instr(值,要找的值)       找出指定字符串位置,只找第一个     instr('tom and joy','a')  ==   5  instr('tom and joy','o')  == 2

substr(值,起始位置,取多长)    截取字符串,字符串从1开始      substr('tom and joy',5,3)  == and

concat(值1,值2)          连接字符串              concat('i'm ',' superman')  == i'm superman

5. 数字函数

round(数字,精度)    四舍五入    round(3.1415,2)  == 3.14   round(3.1415,3) == 3.142

round(日期,格式)    对日期进行四舍五入 round(to_date('23-7月-11'),'YEAR')  如果月份大于7 到2012年1月1日 否则就是11年1月1日

if 年>7  年= 年+1

if 月>15  月=月+ 1

if 天%7 ==0 天= 天+3

6. 转换函数

to_char(值,转换类型)  转换成字符串类型  to_char(1234.5,'$9999.9')  == $1234.5   to_char(sysdate,'yyyy-mm-dd')

to_date(日期,格式)  将日期转换成指定格式

to_number()    转换成数值

7. 伪列

  ROWID : 产生一个新的序列号

  select rowid,u_name,u_pwd from users

  ROWNUM : 类似于TOP关键字的效果

  select * from users where rownum < 10 //返回十条记录