免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1448 | 回复: 4
打印 上一主题 下一主题

请指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-16 17:01 |只看该作者 |倒序浏览
在oracle 中遇到这样的Sql 语句。select  NVl(表名.字段名,'2005/05/16') as 字段名 from 表名.
在db2中怎样去改,我已经试过value和coalesce了,好像不行, 请高手指点。

论坛徽章:
0
2 [报告]
发表于 2005-05-16 18:02 |只看该作者

请指教

DB2的函数不是很熟,不过case when是可以的!

论坛徽章:
0
3 [报告]
发表于 2005-05-17 09:54 |只看该作者

请指教

value  和 coalesce都是可以的,我们开发就是这么用的,
请说明具体情况

论坛徽章:
0
4 [报告]
发表于 2005-05-17 11:34 |只看该作者

请指教

value 和coalesce 对于其他类型的字段是可以的,但是对于日期型字段好像不行啊,我试验结果如下:
select value(字段名,‘0’)  from 表名
是可以的,改字段类型是char
但是
select value(字段名,‘2005/05/16’)  from 表名
不行,该字段类型为DATE

论坛徽章:
0
5 [报告]
发表于 2005-05-17 20:06 |只看该作者

请指教

应该没问题!

Test:

  1. CuTest_mymm >; db2 "select * from sales where sales_person='LEE' and region='Ontario-North'"

  2. SALES_DATE SALES_PERSON    REGION          SALES      
  3. ---------- --------------- --------------- -----------
  4. 03/29/1996 LEE             Ontario-North             2
  5. 03/30/1996 LEE             Ontario-North             3
  6. 03/31/1996 LEE             Ontario-North             3
  7. -          LEE             Ontario-North             -

  8.   4 record(s) selected.

  9. CuTest_mymm >; db2 "select coalesce(sales_date,'05/17/2005'),sales_person,region,coalesce(sales,9) from sales where sales_person='LEE' and region='Ontario-North'"

  10. 1          SALES_PERSON    REGION          4         
  11. ---------- --------------- --------------- -----------
  12. 03/29/1996 LEE             Ontario-North             2
  13. 03/30/1996 LEE             Ontario-North             3
  14. 03/31/1996 LEE             Ontario-North             3
  15. 05/17/2005 LEE             Ontario-North             9

  16.   4 record(s) selected.
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP