我们在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中国扩展码。
|