任何想法爲什麼在將日期轉換爲varchar(FYI:數據類型是rdd中的datetime)後,時間戳記丟失 如果我有日期,轉換日期到varchar2失去時間部分
date = 5/2/2011 9:18:26 AM CAST(date as varcchar(100))給出5-2-2011,時間部分丟失。
不知道這樣做的原因,有誰能夠給我一些講解得
據從Oracle官方文檔的CAST指令,它應該允許這樣的演員。
任何想法爲什麼在將日期轉換爲varchar(FYI:數據類型是rdd中的datetime)後,時間戳記丟失 如果我有日期,轉換日期到varchar2失去時間部分
date = 5/2/2011 9:18:26 AM CAST(date as varcchar(100))給出5-2-2011,時間部分丟失。
不知道這樣做的原因,有誰能夠給我一些講解得
據從Oracle官方文檔的CAST指令,它應該允許這樣的演員。
這取決於NLS_DATE_FORMAT:
SQL> alter session set nls_date_format = 'fmdd-mm-yyyy';
Session altered.
SQL> select cast(sysdate as varchar2(100)) from dual;
CAST(SYSDATEASVARCHAR2(100))
---------------------------------------------------------------------
14-1-2014
1 row selected.
SQL> alter session set nls_date_format = 'fmdd-mm-yyyy fmhh24:mi:ss';
Session altered.
SQL> select cast(sysdate as varchar2(100)) from dual;
CAST(SYSDATEASVARCHAR2(100))
---------------------------------------------------------------------
14-1-2014 14:17:43
1 row selected.
最好使用TO_CHAR,因爲已經建議使用a_horse_with_no_name。
cast (date as varchar2)
將使用當前活動的nls_date_format,默認情況下,它不包含時間。
要獲得包括時間,你需要設置NLS_DATE_FORMAT:
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
或者,不改變會話:
to_char(date,'yyyy-mm-dd hh24:mi:ss')
使用'to_char()'你可以更好地控制輸出格式。 –