設置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類型,可能參數內部替換字符串時 自動進行了轉換。
