SQLSERVER不能用DECODE函数吗

不,解码是Oracle中的内置函数。
sqlserver中没有这样的功能。

如何在sqlserver中实现oracledecode的功能,并写成一个函数

解决思路:1、输入参数用逗号分隔2、实现解码函数1、字符串分割函数createfunctiondbo.getstrofindex(@strvarchar(1000),@indexint=0)returnsvarchar(1000)asbegindeclare@str_returnvarchar(1000)声明@startintdeclare@nextintdeclare@locationintselect@start=1select@next=1select@location=charindex(',',@str,@start)temp(@location<>0and@index>@next)startlect@start=@location+1select@location=charindex(',',@str,@start)select@next[email==@next]=@next[/email]+1endif@location=0select@location=len(@str)+1select@str_return=substring(@str,@start,@location-@start)if(@index<>@next)select@str_return=''return@str_returnend2自定义解码函数createfunctiondbo.decode(@col_namevarchar(100),@valvarchar(1000))返回varchar(1000)asbegindeclare@Indintdeclare@iintdeclare@Resvarchar(1000)set@Ind=0set@i=1set@Res=''set@Ind=len(@val)-len(replace(@val,',',''))+1Tab_loop:if@i

sqlserver里能用decode函数

不,解码是Oracle中的内置函数。
sqlserver中没有这样的功能。

如何在sqlserver中实现oracledecode的功能,并写成一个函数

不要考虑功能,看起来很难实现。
这是SQL标准并且可以替代解码的用例