怎么在sql中实现问号表达式的功能

emu 2003-02-21 01:38:31
其实 Lastdrop(空杯) 已经在 http://expert.csdn.net/Expert/topic/1450/1450540.xml 中说了,我开这个帖子主要是为了感谢他,同时如有其他实现方式欢迎继续讨论。
...全文
441 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
emu 2003-02-21
  • 打赏
  • 举报
回复
结帖了,再次谢谢 Lastdrop(空杯) 和 lunar2000(春天花会开) 。没办法级别太低只能给一百分,真希望有机会可以请你们出来喝茶。我在深圳,你们在哪?
Fred_Mark 2003-02-21
  • 打赏
  • 举报
回复
学习。
developer2002 2003-02-21
  • 打赏
  • 举报
回复
case when 从8i才开始支持。
emu 2003-02-21
  • 打赏
  • 举报
回复
收到!

今天又学两招 :))

数据库版的人真好!
lunar2000 2003-02-21
  • 打赏
  • 举报
回复
在oracle中实现if...else...的功能,除了decode外,还有一个case比较方便,呵呵:
E:\oracle\ora92\database>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期五 1月 25 11:22:16 2002

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn lunar/lunar
已连接。
SQL> create table testcase
2 (a char(6),
3 b number(10),
4 c char(9),
5 d number(10,2),
6 e char(20));

表已创建。

SQL> insert into testcase values('aa',110,'你好',100.2,'abc');

已创建 1 行。

SQL> insert into testcase values('bb',200,'大家好',120.25,'abcde');

已创建 1 行。

SQL> insert into testcase values('cc',150,'和平',50.9,'xyz');

已创建 1 行。

SQL> insert into testcase values('dd',170,'和平',200,'rst');

已创建 1 行。

SQL> insert into testcase values('ee',10,'公安部',21,'morning');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from testcase;

A B C D E
------ ---------- --------- ---------- --------------------
aa 110 你好 100.2 abc
bb 200 大家好 120.25 abcde
cc 150 和平 50.9 xyz
dd 170 和平 200 rst
ee 10 公安部 21 morning

SQL> select a,b,(case when b>150 then '大于150'
2 when b=150 then '等于150'
3 when b<150 then '小于150'
4 else '输入错误'
5 end) as c, d,e
6 from testcase
7 /

A B C D E
------ ---------- -------- ---------- --------------------
aa 110 小于150 100.2 abc
bb 200 大于150 120.25 abcde
cc 150 等于150 50.9 xyz
dd 170 大于150 200 rst
ee 10 小于150 21 morning

SQL>
Lastdrop 2003-02-21
  • 打赏
  • 举报
回复
sorry,

if value of field_name is null then
return other_value
else
return value of field_name
end if;

Lastdrop 2003-02-21
  • 打赏
  • 举报
回复
You're welcome!

类似的还有一个NVL(field_name,other_value)
if value of field_name is null then
return value
else
return value of field_name
end if;
《轻松学C#(图解版)》完整扫描版================================================================ 基本信息 作者:谷涛、扶晓、毕国锋 丛书名:轻松学开发 出版社:电子工业出版社 ISBN:978-7-121-20223-0 出版日期:2013年6月 开本:16开 页码:408页 版次:1-1 定价:¥55.00 所属分类:计算机 > 软件与程序设计 > C# ================================================================ 内容简介 本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、流程控制、数组、继承、属性、运算符重载、接口等C#基本内容。第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 ================================================================ 图书目录 第一篇 C#概述篇 第1章 C#入门 2 1.1 C#概述 2 1.1.1 C#的发展 2 1.1.2 C#开发的基础 2 1.2 搭建开发环境 3 1.2.1 Visual Studio 2012软硬件配置要求 3 1.2.2 下载Visual Studio 2012 3 1.2.3 安装Visual Studio 2012 4 1.2.4 初始化配置 7 1.3 第一个程序—Hello World 8 1.4 小结 11 1.5 习题 12 第二篇 面向对象基础篇 第2章 类和对象 16 2.1 分析Hello World程序 16 2.2 语法规范 17 2.2.1 标识符 17 2.2.2 关键字 18 2.2.3 注释 19 2.3 定义类 20 2.4 实例化对象 20 2.5 小结 20 2.6 习题 21 第3章 定义类——字段 23 3.1 数据类型 23 3.1.1 简单值类型 23 3.1.2 值的表示——字面量 26 3.1.3 转义序列 27 3.2 定义字段 27 3.2.1 定义字段 28 3.2.2 静态字段和实例字段的访问 28 3.2.3 字段初始化 29 3.2.4 字段的动态赋值——Read()和ReadLine() 31 3.2.5 字段输出 31 3.2.6 格式化输出 32 3.2.7 数据类型转换 39 3.2.8 只读字段 41 3.2.9 访问控制 41 3.3 运算符 43 3.3.1 算术运算符 43 3.3.2 自增、自减运算符 44 3.3.3 复合赋值运算符 45 3.3.4 位运算符 46 3.3.5 sizeof运算符 47 3.3.6 运算符的优先级 47 3.4 小结 49 3.5 习题 49 第4章 定义类——方法 51 4.1 方法的概述 51 4.1.1 定义方法 51 4.1.2 方法的调用 52 4.2 方法体的构成 53 4.2.1 局部变量 53 4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧