変数を含む t sql に StartsWith または Contains はありますか? 質問する

変数を含む t sql に StartsWith または Contains はありますか? 質問する

サーバーが Express Edition を実行しているかどうかを検出しようとしています。

次の T SQL があります。

DECLARE @edition varchar(50); 
set @edition = cast((select SERVERPROPERTY ('edition')) as varchar)

print @edition

私の場合、@edition = Express Edition (64-bit)

以下のことをどうすれば実行できますか? (C# に触発されて)。

DECLARE @isExpress bit;
set @isExpress = @edition.StartsWith('Express Edition');

ベストアンサー1

スタートウィズ

a) left(@edition, 15) = 'Express Edition'
b) charindex('Express Edition', @edition) = 1

含まれるもの

charindex('Express Edition', @edition) >= 1

left関数

set @isExpress = case when left(@edition, 15) = 'Express Edition' then 1 else 0 end

iif関数 (SQL Server 2012 以降)

set @isExpress = iif(left(@edition, 15) = 'Express Edition', 1, 0);

charindex関数

set @isExpress = iif(charindex('Express Edition', @edition) = 1, 1, 0);

おすすめ記事