写了一条Sybase SQL语句,用于生成一个表中所有数据的插入记录的生成

select 'insert into pcmc_menu(menuid, subsysid'+
--确定pmenuid是否为NULL,不为NULL就加上
case convert(varchar,pmenuid) when NULL then '' else ', pmenuid' end
+',levelp, menuname, imgurl, linkurl,isinternet,remark'+
--确定sortno是否为NULL,不为NULL就加上
case convert(varchar,sortno) when NULL then ')' else ', sortno)' end
+' values('+convert(varchar,menuid)+','+convert(varchar,subsysid)+','+
case convert(varchar,pmenuid) when NULL then '' else convert(varchar,pmenuid)+',' end
+convert(varchar,levelp)+','''+menuname+''','''+imgurl+''','''+linkurl+''','''+isinternet+''','''+remark+''''+
case convert(varchar,sortno) when NULL then ')' else ','+convert(varchar,sortno)+')' end
from pcmc_menu

在SQL SERVER这样执行就不行,只能够生成所有条件都不为空的记录。

case ... when ... then ...else  ... end 语句还得挺好用的。

本文出自:冯立彬的博客




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值