DataTime 日期用聚合函數截取
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
[p]一個datetime型的字段可以存儲的日期范圍是從1753年1月1日第一毫秒到9999年12月31日最后一毫秒。如果你不需要覆蓋這么大范圍的日期和時間,你可以使用smalldatetime型數據。它與datetime型數據同樣使用,只不過它能表示的日期和時間范圍比datetime型數據小,而且不如datetime型數據精確。一個smalldatetime型的字段能夠存儲從1900年1月1日到2079年6月6日的日期,它只能精確到秒。 [br]datetime數據類型的操作[/p]
[p]1、日期的截取[/p] [p]用extend截取日期的部分值,如: [br]start_time='2004-06-15 11:12:13' 本文以下出現的start_time均為datetime year to second [br]extend(start_time,year to month)='2004-06' [br]extend(start_time,hour to hour)='11' [br]要說明的是:以上函數返回的'2004-06'和'11'的類型仍然都是datetime型,無法直接進行加減操作。[/p] [p]2、日期的計算[/p] [p]應用中經常會用到日期的加減,比如取當前日期的前一天或指定日期的前一天等, [br]這種操作不好說,還是看看下面的例子說明問題: [br]select [br]curretn [br]current year to day - interval(9) day to day, [br]current year to second - interval(9) minute to minute [br]from tab1 [br]將會返回: [br]2004-06-13 19:30:42.000 [br]2004-06-04 [br]2004-06-13 19:21:42 [br]不知這樣大家明白沒。 [br]類型轉換[/p] [p]前文提到的extend(start_time,hour to hour)='11'的結果仍然是datetime型,如果要進行類型轉換的話: [/p] [p]1、extend(start_time,hour to hour)||''將返回char型,extend(start_time,hour to hour)||''+0將返回integer型,extend(start_time,hour to hour)||''+0.0將返回float型,雖然樣子不太好看,不過效果不錯。[/p] [p]類似extend(start_time,hour to hour)||''+0這樣的方法可以在select中使用,但在create view的時候使用則會發生語法錯誤(ids 9.4)。[/p] [p]2、用to_char函數: to_char(start_time)將按原樣返回start_time字段的字符形式,如: [br]select to_char(start_time, '%a %b %d, %y %r') from tab1 [br]結果是: wednesday july 23, 2003 18:45 [br]其中: %a:周、%b:月(英文)、%m月(數字)、%d:日、%y:年,%r:時間。 [br]按照以上方法,大家可以將日期時間型按照自己喜歡的形狀進行加工。 [br](ids 9.4) [/p] [p]3、to_date函數: [br]用法類似于to_char,如: to_date('20040615111213','%y%m%d%h%m%s') [br]將返回一個datetime型: 2004-06-15 11:12:13.00000[/p] 該文章在 2010/6/12 9:47:07 編輯過 |
關鍵字查詢
相關文章
正在查詢... |