畢竟對於 Cognos Report Studio 不是那麼熟悉,處理 Layout 的日期顯示格式,花了一點時間摸索。基於從 Oracle 與 VB 習得的經驗,並不完全適用於 Cognos。
因為久了就會忘記,所以還是紀錄一下
我必須先抱怨一下 IBM,要不是 Cognos 給我錯誤的指引,或許不會搞那麼久。
我開發出來的 Cognos Report Studio 報表,若 SQL 欄位是日期型態,則報表與設的格式是Dec 17, 2013 12:00:00 AM。
這個並不符合我的使用者的閱讀習慣,同時我的欄位只需要日期,不需要時間,所以後面的 Time 舊顯得累贅。User 需要的格式,就只有 2013/12/17 這麼簡單。
Cognos 的 List Column,有 Data Format 的屬性,可以指定該欄位的資料型態。
其中,我要的 2013/12/17 樣式,顯然是 Date 型態
參數有不少,但在我的需求中,重要的其實是 Pattern 這個屬性
瞧瞧他的說明,所以如果我要 2013/12/17 這樣的格式,那 pattern 應該給 yyyy/mm/dd
結果,跑出來長這樣 ....,這個 00 的月份是怎麼回事?!
於是,我是了各式各樣的組合去做測試,我也不知道我花了多久時間,總之測到火氣都來了(可憐了我的鍵盤),才總算試出來,原來我希望的 2013/12/17,他的 Pattern 是 yyyy/MM/dd,大小寫有分!!
最後,還是放棄 Cognos 上面的說明,Google 找到了一篇說明,看這個表才是正確的
| 
Symbol | 
Meaning | 
Presentation | 
Example | 
| 
G | 
era designator | 
Text | 
AD | 
| 
y | 
year | 
Number | 
1999 | 
| 
M | 
month in year | 
Text & Number | 
July & 07 | 
| 
d | 
day in month | 
Number | 
31 | 
| 
h | 
hour in am/pm (1-12) | 
Number | 
12 | 
| 
H | 
hour in day (0-23) | 
Number | 
0 | 
| 
m | 
minute in hour | 
Number | 
30 | 
| 
s | 
second in minute | 
Number | 
55 | 
| 
S | 
millisecond | 
Number | 
978 | 
| 
E | 
day in week | 
Text | 
Tuesday | 
| 
D | 
day in year | 
Number | 
189 | 
| 
F | 
day of week in month | 
Number | 
2 (2nd Wed in July) | 
| 
w | 
week in year | 
Number | 
27 | 
| 
W | 
week in month | 
Number | 
2 | 
| 
a | 
am/pm marker | 
Text | 
PM | 
| 
k | 
hour in day (1-24) | 
Number | 
24 | 
| 
K | 
hour in am/pm (0-11) | 
Number | 
0 | 
| 
z | 
time zone | 
Text | 
Pacific Standard Time | 
 
沒有留言:
張貼留言