AdolphYang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

设置oracle中date的会话格式为 'yyyy-mm-dd hh24:mi:ss'

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

 

设置oracle中timestamp的会话格式为 ‘yyyy-mm-dd hh24.mi.ss.ff’

alter session set nls_timestamp_format='yyyy-mm-dd hh24.mi.ss.ff';

 

c#中向oracle中插入date 可以直接操作日期数据:

SELECT * FROM T_TABLE WHERE createDate Between '2015-09-15' AND '2015-09-25'

 

c#中向oracle中操作timestamp 必须间接的转timestamp 进行操作:

SELECT * FROM T_TABLE WHERE createDate Between TO_TIMESTAMP('2015-09-15','yyyy-mm-dd hh24:mi:ss') AND TO_TIMESTAMP('2015-09-25','yyyy-mm-dd hh24:mi:ss') 

/或者:

SELECT * FROM T_TABLE WHERE createDate Between TO_TIMESTAMP_TZ('2013-12-09','YYYY-MM-DD HH24:MI:SS.FF TZH:TZM') AND TO_TIMESTAMP_TZ('2015-12-09','YYYY-MM-DD HH24:MI:SS.FF TZH:TZM') 

 

注意:

在C#中,如果sql是用StringBuilder进行拼接的,对于timestamp类型日期 必须进行 to_timestamp('','')转换。

     如果sql是用OracleParameter参数进行执行的,即使对于timestamp类型日期 也不能进行 to_timestamp转换,只能传递DateTime类型,可能参数内部替换字符串时 自动进行了转换。

 

posted on 2015-09-21 19:33  AdolphYang  阅读(3221)  评论(0编辑  收藏  举报