Saya mencoba mendeteksi apakah server menjalankan Edisi Ekspres.
Saya memiliki sql t berikut.
DECLARE @edition varchar(50);
set @edition = cast((select SERVERPROPERTY ('edition')) as varchar)
print @edition
Dalam contoh saya, @edition = Express Edition (64-bit)
Bagaimana saya bisa melakukan hal berikut? (C # terinspirasi).
DECLARE @isExpress bit;
set @isExpress = @edition.StartsWith('Express Edition');
sql
sql-server-2008
tsql
Valamas
sumber
sumber
colName LIKE 'prefix%'
akan sangat cepat saatcolName
diindeks, tetapicolName LIKE '%substring%'
ataucolName LIKE '%suffix'
akan menjadi lambat karena SQL Server tidak membuat pohon sufiks saat mengindeks teks. Demikian pula penggunaanLEFT
dengan kolom juga akan lambat karena kueri tersebut bukan SARGable. SARGability itu penting: dba.stackexchange.com/questions/162263/…Sepertinya yang Anda inginkan adalah http://msdn.microsoft.com/en-us/library/ms186323.aspx .
Dalam contoh Anda, ini akan menjadi (dimulai dengan):
Atau berisi
sumber
Express Edition%
? Juga, bukankah solusi Anda mengembalikan true dari "Edisi Ekspres" ada di mana pun dalam string? Jadi, ini lebih khusus lagi hanya semacam "Berisi" cara melakukannyaSaya akan menggunakan
Contoh:
sumber