畢竟對於 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
|
沒有留言:
張貼留言