我想在oracle中避免TIMESTAMP的年份和第二部分。例如。我有一個領域來輸入抵達時間,我有另一個領域輸入抵達日期。我只想在下午6點35分進入到達時間,而不是整個'2013-12-13 6:35'在我的表格中。我怎樣才能做到這一點?如何避免oracle中的TIMESTAMP的年份和第二部分?
**Sample of my input**
Arrival Date Arrival Time
2013-12-23 6:35 PM
任何人都可以幫助我嗎?
我想在oracle中避免TIMESTAMP的年份和第二部分。例如。我有一個領域來輸入抵達時間,我有另一個領域輸入抵達日期。我只想在下午6點35分進入到達時間,而不是整個'2013-12-13 6:35'在我的表格中。我怎樣才能做到這一點?如何避免oracle中的TIMESTAMP的年份和第二部分?
**Sample of my input**
Arrival Date Arrival Time
2013-12-23 6:35 PM
任何人都可以幫助我嗎?
select to_char(systimestamp,'YYYY-MM-DD') from dual;
select to_char(systimestamp,'hh:mi:ss') from dual;
select to_char(arrival_date,'YYYY-MM-DD'),
to_char(arrival_time,'HH:MI AM')
from dual;
替換sysdate
與所需的日期欄!
上插入
set arrival_date_str as String '2013-12-22' and arrival_time_str as '06:35 PM'
insert into my_table
(arrival_date,arrival_time)
values
(
to_date(:arrival_date_str,'YYYY-MM-DD'),
to_date(:arrival_date_str||' '||:arrival_time_str,'YYYY-MM-DD HH:MI AM')
);
表裏面可能有數據爲「插入日期」和時間「下午6時35分○○秒」保存 顯然會出錯,所以obviusoly你可以使用上面的。
實際上,您應該使用一列arrival_date作爲日期和時間。你可以考慮一下嗎?
輸入抵達時間時,我想直接輸入6:35 PM,而不是TIMESTAMP的全部部分。你可以幫我嗎? – user3127109
編輯!請現在檢查 –
你的答案看起來很混亂!!我想存儲超過20條記錄。我不能繼續爲每一個使用set! – user3127109
如果您不需要額外的精度(如毫秒),我建議使用DATE
數據類型。更好的選擇是將日期和時間部分存儲在一個數據庫列中。要檢索並在UI顯示你有(分別爲日期和時間部分)使用方法:
to_char(your_time_column,'YYYY-MM-DD')
to_char(your_date_column,'HH:MI')
要在UI值存儲進入數據庫,你必須做反向操作:
to_date(UI_date_part || ' ' || UI_time_part, 'YYYY-MM-DD HH:MI')
如果單獨的數據庫列是強制性的,然後在插入就可以使用上面的轉換函數:
insert into my_table(date_part_column, time_part_column)
values(to_timestamp('your_date_here', 'YYYY-MM-DD'),
to_timestamp('your_time_here', 'HH:MI'));
要有單獨的欄目輸入到達日期和時間是必須的。我只想輸入時間(例如,下午6點35分到達時間不是TIMESTAMP的'2013-12-12 6:35',你能幫助我嗎? – user3127109
@ user3127109你使用什麼類型的UI?你輸入了嗎? –
我是oracle新手,我使用SQLPLUS提示符來執行所有queris操作,所以很難進入TIMESTAMP的整個部分,所以我想在插入數據時避免TIMESTAMP年和毫秒。 – user3127109
TO_CHAR()你需要應該是你的答案(TO_CHAR(arrival_date,「MM-DD」))的任何格式。但是,如果你讓問題更清楚,那會更好。 –
技術術語是「格式日期」。 –
輸入抵達時間時,我想直接輸入下午6:35。你可以幫我嗎? – user3127109