Oracle 存储过程中的细节-日期处理
来源:互联网 发布:万网域名要备案吗 编辑:程序博客网 时间:2024/05/04 20:32
今天在存储过程中用 to_char来查询制定日期是星期几,本以为时没什么问题的,结果出现了自己不想要的问题。
select to_char(sysdate,'day','NLS_DATE_LANGUAGE=AMERICAN') day
into v_day
from dual ;
注意:返回值是英文,比如:saturday,sunday
在v_day中,调试后发现竟然后空格,存储过程中的细节之一就是字符串变量还是统一用trim来处理下,其实加trim处理不怎么影响性能的
另外参数'NLS_DATE_LANGUAGE=AMERICAN' 适合在不同点数据库编码字符集中使用,如果不加,默认会显示中文的星期几:
SQL> select to_char(sysdate,'day') from dual;
TO_CHAR(SYSDATE,'DAY')
----------------------
星期五
下面补充一些其他的to_char实现的日期相关的用途:
1.--取得当前日期是本月的第几周:
SQL> select to_char(sysdate,'W') T from dual;
T
-
4
2.--取得当前日期是一个星期中的第几天,注意星期日是第一天:
SQL> select sysdate,to_char(sysdate,'D') T from dual;
SYSDATE T
---------------------------- -
2012-11-23 10:11:52 6
3. -- 得到小时的具体数值
SQL> select trunc(sysdate) + 1/24 from dual;
TRUNC(SYSDATE)+1/24
-------------------
2012-11-23 1:00:00
4. 得到一年的每一天
select trunc(sysdate, 'yyyy') + rn - 1 date0
from (select rownum rn from all_objects where rownum < 366);
5.返回当前月的最后一天
select last_day(sysdate) from dual;
select last_day(trunc(sysdate)) from dual;
select trunc(last_day(sysdate)) from dual;
select trunc(add_months(sysdate,1),'mm') - 1 from dual;
6.获取本周一,周日的日期
select trunc(sysdate,'d')+1,trunc(sysdate,'d')+7 from dual;
7.判断某一日子所在年分是否为润年
select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;
8.判断两年后是否为润年
select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual;
9.得到日期的季度
select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;
select to_char(sysdate, 'Q') from dual;
类似:
select to_char(sysdate,'yyyy') from dual; --年
select to_char(sysdate,'Q' from dual; --季
select to_char(sysdate,'mm') from dual; --月
select to_char(sysdate,'dd') from dual; --日
ddd 年中的第几天
WW 年中的第几个星期
W 该月中第几个星期
- Oracle 存储过程中的细节-日期处理
- Oracle存储过程中的异常处理
- 浅析:oracle存储过程中的异常处理
- Oracle存储过程中的异常处理
- oracle存储过程中的异常处理
- oracle中的存储过程
- oracle中的存储过程
- Oracle中的存储过程
- Oracle中的存储过程
- oracle存储过程错误处理
- oracle 存储过程异常处理
- Oracle 存储过程异常处理
- Oracle 存储过程异常处理 .
- oracle存储过程分页处理
- oracle 存储过程异常处理
- Oracle 存储过程异常处理
- Oracle 存储过程异常处理
- Oracle中的日期字段处理
- IT行业培训必读:优秀程序员的十个习惯
- Android include标签
- XCode工程内多Targets教程
- ArcGIS Runtime加载本地Shape数据和编辑Shape数据
- SQL Server CONVERT() 函数
- Oracle 存储过程中的细节-日期处理
- 谈谈离职和跳槽
- timestamp(时间戳)详解
- ubuntu插件问题与答案
- 墨卡托投影
- 如何利用已有的切片文件生成TPK
- OpenCV cvThreshold 函数解释
- 客户端安装torque问题
- 如何使地形图变得更加有趣