0
我正在使用Oracle。正如你可以從標題明白,問題是在此代碼:將字符串轉換爲日期不會以特定格式返回日期
select TO_DATE('21991231', 'YYYYMMDD') from dual;
,其結果是:
31/12/2199
我想要實現這樣的結果:爲什麼
21991231
甲骨文這樣做?如何逃避這個問題?
我正在使用Oracle。正如你可以從標題明白,問題是在此代碼:將字符串轉換爲日期不會以特定格式返回日期
select TO_DATE('21991231', 'YYYYMMDD') from dual;
,其結果是:
31/12/2199
我想要實現這樣的結果:爲什麼
21991231
甲骨文這樣做?如何逃避這個問題?
該日期在Oracle中沒有格式。這是你的客戶。 如果要修改當前會話的默認格式,您可以使用:
alter session set nls_date_format='yyyymmdd'
如果你想將日期轉換爲臨時基礎上的格式,你可以使用TO_CHAR與格式字符串:
select to_char(date_col, 'yyyymmdd') from table;
您需要使用'TO_CHAR(date,'YYYYMMDD');' –
@Asjon,這不是['to_date'](http://docs.oracle.com/database/121/SQLRF/functions219 .htm)。 –
如果它已經是你想要的格式,你爲什麼要轉換它?你必須將你的字符串轉換爲一個日期(沒有內部格式!),然後返回到你想要的格式的字符串,這似乎有點無意義? –