如何使 SQL 查詢結果加上顏色分類,以快速分辨所要的資料?
當我們觀看 SQL 的查詢結果時,我們無法得到警示性的圖形,如果我們想要查詢客戶的銷售狀況,
若能依不同的銷售量區間並給予各區間不同的顏色來顯示查詢結果,將會給予使用者較容易找到較
重要的警示性資料。
為了要在查詢結果中顯示不同的顏色,我們需要於顯示資料前加入顏色的屬性於欄位或行,我們所
用的屬性如下:
x'20' 正常 Normal
x'21' 反白 Reverse
x'22' 高亮度 HI
x'23' 高亮度反白 HI reverse
x'28' 紅色 Red
x'29' 紅色反白 Red reverse
x'2A' 閃爍 Blink
x'2B' 閃爍反白 Blink reverse
為了要定義警示性區間,我們使用 SQL CASE 指令,類似 RPG IV 的 CASE 指令
+-------------------------------------------------------------------------------+
| |
| |
| +-ELSE NULL---------------+ |
| >--CASE----searched-when-clause----+-------------------------+--END---------> |
| +-simple-when-clause---+ +-ELSE--result-expression-+ |
| |
| searched-when-clause: |
| <-----------------------------------------------------+ |
| +----WHEN--search-condition--THEN----result-expression----------------------| |
| +-NULL--------------+ |
| |
| simple-when-clause: |
| <-----------------------------------------------+ |
| +--expression----WHEN--expression--THEN----result-expression----------------| |
| +-NULL--------------+ |
| |
+-------------------------------------------------------------------------------+
在底下的例子中,我們顯示系統中檔案欄位數超過 100個的檔案,反白區是檔案欄位數超過 250 個,
紅色區是檔案欄位數超過 1000 個,紅色閃爍區是檔案欄位數超過 2500 個。
啟動 SQL --> STRSQL
Enter SQL Statements
Type SQL statement, press Enter.
===> SELECT CASE
WHEN count(*) > 2500 THEN (X'2A'||SYSTEM_TABLE_SCHEMA||X'28')
WHEN count(*) > 1000 THEN (X'28'||SYSTEM_TABLE_SCHEMA)
WHEN count(*) > 250 THEN (X'22'||SYSTEM_TABLE_SCHEMA)
else (' '||SYSTEM_TABLE_SCHEMA)
end AS LIB,
SYSTEM_TABLE_NAME AS TABLE,
COUNT(*) AS FIELDS
FROM QSYS2/SYSCOLUMNS
group by system_table_schema, system_table_name
having count(*) > 100
Bottom
F3=Exit F4=Prompt F6=Insert line F9=Retrieve F10=Copy line
F12=Cancel F13=Services F24=More keys
A blog about IBM i (AS/400), MQ and other things developers or Admins need to know.
星期三, 11月 01, 2023
2001-11-08 如何使 SQL 查詢結果加上顏色分類,以快速分辨所要的資料?
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言