首页 > 学技术 > 技术网文 > IBM AS400应用论坛 > 正文

[精彩] 无聊的-如何在AS/400 SQL查询结果中加入颜色分类


来源 chinaunix.net 酷勤网整理

我们在AS/400上观看SQL查询结果,会因为颜色单一,无法观看具有警示形的文字,其实,是可以在SQL查询结果中加入颜色以区分不同类型的结果。 
解答 1.颜色属性。
为了在SQL查询结果中加入颜色,可以在SQL查询语句中加入颜色的属性。
常用的颜色属性有:
x'21' 反白 Reverse
x'22' 高亮度 HI
x'23' 高亮度反白 HI reverse
x'28' 红色 Red
x'29' 红色反白 Red reverse
x'2A' 闪烁 Blink

2.举例说明。
现在,举例说明如何在SQL查询结果中加入颜色。
有一个学生成绩表,成绩高于90分的用闪烁的红色显示;成绩在70到90之间的用红色显示;成绩在60到70之间的拥高亮显示。SQL语句如下:
select no,grade, 
case 
when grade>=90 then (X'2a'||'Excellence'||X'28') 
when grade>=70 and grade <90 then (X'28'||'Good') 
when grade>=60 and grade <70 then (X'22'||'Pass') 
else 'Not pass' 
end as grade_class 
from xqlib/grade 

我不是原版的



 rocketer 回复于:2005-12-11 01:14:06

大牛牛!!!!!!


 liu__jiang 回复于:2005-12-12 09:41:07

引用:原帖由 wildfish 于 2005-12-10 10:39 发表
我们在AS/400上观看SQL查询结果,会因为颜色单一,无法观看具有警示形的文字,其实,是可以在SQL查询结果中加入颜色以区分不同类型的结果。 
解答 1.颜色属性。
为了在SQL查询结果中加入颜色,可以在SQL查询语句 ... 



对不起,我试了,好象不能用WHEN, 错误如下:
Keyword WHEN not expected. Valid tokens: , FROM INTO.
如果您的已经通过,可以贴出来么?
谢谢~~~
另外可以告之你的“end as grade_class ”  其中grade_class 是什么?表么?xqlib/grade 那这个grade又是什么? 我觉得这个才是表!


 utirei 回复于:2005-12-12 13:52:33

up,不错哦~mark以后说不定用得到!


 戎马 回复于:2005-12-13 09:16:26

不会啊,能不能在举个例子?


 zuozhenglin 回复于:2005-12-13 15:38:28

测试通过,OK!

谢谢!

测试SQL:
SELECT M07LIB,M07OBJ,M07MBR,M07ROW,CASE        
WHEN M07LEN = '0' THEN (X'3A'||' 無し '||X'28')
ELSE (X'2A'||' 有し '||X'28')                  
END AS LONG_CHG                                
FROM M30T07P


 liu__jiang 回复于:2005-12-14 11:38:32

已经实现。
前几天有所误解,END AS LONG_CHG ;end as grade_class 
其中这里写END就可以了,后面随便写都可以,那天以为是表,不好意思~~~


 jolliking 回复于:2006-02-10 16:45:10

不可以用*号的么?即:
select *, 
case 
when grade>=90 then (X'2a'||'Excellence'||X'28') 
when grade>=70 and grade <90 then (X'28'||'Good') 
when grade>=60 and grade <70 then (X'22'||'Pass') 
else 'Not pass' 
end as grade_class 
from xqlib/grade 
则是错的。


 人世间 回复于:2006-02-10 17:07:36

太强了。

感谢分享

[ 本帖最后由 人世间 于 2006-2-10 17:09 编辑 ]


 wangzhizhou 回复于:2006-02-13 10:45:09

谢谢,又学到了一些知识


 helloabc 回复于:2006-02-13 11:49:18

谢谢!


 jlwrp 回复于:2006-02-14 16:08:52

强我也试一下吧!


 qingzhou 回复于:2006-02-14 16:49:33

如何在AS/400 SQL查询结果中加入颜色分类?(感谢wildfish提供)
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1322033I01000

另外,我再转帖(来自IBM)一篇:
如何在AS/400上发送带有颜色的MESSAGE?
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1322333I02000


 digitalchina 回复于:2006-02-28 13:56:08

怎麽讓我的程序中出現彩色?
我看到一些老的代碼,有幾行是紅色\白色...

不知道怎麽做.

另外 SNDMSG 可不可以用一格 COMMAND 來發彩色信息?


 eric55555 回复于:2006-02-28 16:35:11

试了,蛮好玩的哦


 digitalchina 回复于:2006-02-28 17:58:47

直接用SNDMSG 怎么做?


 Stealer 回复于:2006-03-01 09:16:37

x'21' 反白 Reverse
x'22' 高亮度 HI
x'23' 高亮度反白 HI reverse
x'28' 红色 Red
x'29' 红色反白 Red reverse
x'2A' 闪烁 Blink

最后一项就是闪烁加红色,那when grade>=90 then (X'2a'||'Excellence'||X'28')和
when grade>=90 then (X'2a'||'Excellence')是一样的


 digitalchina 回复于:2006-05-05 21:32:55

怎么在SUBFILE里实现以上 效果 ?


 Ninjai_Chan 回复于:2006-05-08 13:33:50

我的AS/400不支持“||”,为什么?


 riancy1106 回复于:2006-05-08 17:12:57

受教了!!!


 wnai 回复于:2006-05-08 17:51:03

我觉得应该还有别的颜色吧??怎么能查到那些HEX的代码呢?


 qingzhou 回复于:2006-05-08 20:20:12

引用:原帖由 Ninjai_Chan 于 2006-5-8 13:33 发表
我的AS/400不支持“||”,为什么? 


确认DISPLAY SESSION的主机代码页为:1388中国 或 1388中国扩展码。




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=666272
转载请注明作者名及原文出处



收藏本页到: