一尘不染

t sql中是否包含StartsWith或包含变量的变量?

sql

我正在尝试检测服务器是否正在运行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');

阅读 154

收藏
2021-03-17

共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);
2021-03-17