这样的语句该如何写?oracle8的(40分)

  • 主题发起人 主题发起人 jobsxy
  • 开始时间 开始时间
J

jobsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一本讲SQL语法的书上学到一个例子:
SELECT CASE SEX
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '未知'
END,
FROM Rs

目的是凡是RS表中的字段SEX值为1时显示男;为时显示女;其他为未知,
但在ORACLE下通不过,请教原因?
 
ORACLE中有一个DECODE函数,实现的是CASE的功能,
其用法如下:
decode(字段,if1,value1,if2,value2,...,elsevalue)

你要的功能可以由以下语句实现:

select decode(sex,'1','男','2','女','未知')
from rs
 
噫,yck大侠,我把您的语句贴到SQL EXPLOREER可是出错了
错误信息是:
dbQuery: Field' decode(sex,.............) not found
 
case好像是sql 7.0才有的东西....这几天从论坛上听别人说的.

jobsxy: 看来你的这本sql书是讲sql 7.0的,能告诉我是哪本书吗? 书名?
 
呵呵谢谢yck大侠,果真可以。
再问个小问题?有关ORACLE的SQL语法的书哪本好些?ORACLE公司出的
《ORACLE8PL/SQL程序设计》除外(主要是太贵了买不起)
 
to cAkk:
我这本书名是《SQL使用指南》---傻瓜系列---电子工业出版社
SQL SERVER7。0才有的东西?不会吧!
96年我就买了这本书了,其中有部分是用DELPHI1。0作例子的
 
是吗? 我用了这么久sql都不知道还可以用case..... :-(
哎! 看来我还是找本书好好补一补吧! :-(
 
也没什么好书。
只要书名上带ORACLE和SQL语言就行。
DECODE我是偶尔通过看HELP看到的。
当时想查一个函数,就查找FUNCTION,
然后,突然发现有这么一个函数
 
多人接受答案了。
 
后退
顶部