首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

SQL函数的写法(MSSQL区人太少了,只好发到这里),非常紧

2012-03-19 
求一个SQL函数的写法(MSSQL区人太少了,只好发到这里),非常紧急求一个SQL函数的实现,必须是函数,因为要在许

求一个SQL函数的写法(MSSQL区人太少了,只好发到这里),非常紧急
求一个SQL函数的实现,必须是函数,因为要在许多存储过程中用到,如下
有这样一锻SQL语句
Declare   @cmd   nvarchar(500)

set   @cmd   =   'Select   1   Where   '   +   Cast(@AuthorID   AS   nvarchar)   +   '   IN( '   +   @AuthorIDs   +   ') '

exec(@cmd)

请问,如何写函数才能将@cmd执行后的1作为函数的返回值输出呢,由于必须通过拼字符串实现,所以一筹莫展,本人对SQL中的函数并不是太了解,请各位大虾一定帮下忙

[解决办法]
改用CharIndex做判斷,不使用In做判斷。


declare @bResult bit
Set @bResult = 0
Select @bResult = 1 Where CharIndex( ', ' + Cast(1 As Varchar) + ', ' , ', ' + '1,2,3 ' + ', ') > 0
[解决办法]
你的語句改為這樣,

select * from table where CharIndex( ', ' + Cast(AuthorIDs As Varchar) + ', ' , ', ' + @AuthorID + ', ') > 0
[解决办法]

在前後加上 ", "是為了防止將11這樣包含1的時候查出。

或者用Like也可以

select * from table where ', ' + @AuthorID + ', ' Like '%, ' + Cast(AuthorIDs As Varchar) + ',% '

热点排行