2

次のストアド プロシージャがあります。

Create PROCEDURE [dbo].[GETVendorsStatsAgainstSearTerm]
    @Date DateTime , 
    @SearchId  bigint
AS

declare @cmd as varchar(2000)
set @cmd = ' select *, ' + cast(SearchId as varchar) + ' as SearhId   from tbl'
exec (@cmd)

SearchId選択クエリを実行する列として扱いたい。SearchId列の正しい型を知りたいです。

このSearchId列を C# で長いデータ型に変換できません。誰でも私を助けることができますか?

4

2 に答える 2

0

あなたはで試すことができますConvert function

Convert(varchar(50),SearchId ) 
于 2013-03-25T13:46:03.237 に答える
0

問題は、割り当てられていない SearchId がいくつかあり、null を varchar に csating することだと思います。

次のようなことを試してください:

//...
set @cmd = CASE
   WHEN (SearchId IS NOT NULL) THEN (' select *, ' + cast(SearchId as varchar) + ' as SearhId from tbl')
   ELSE ' select *, 0 as SearhId from tbl'
END
///... 
于 2013-03-25T14:00:47.887 に答える