Ich versuche festzustellen, ob auf dem Server Express Edition ausgeführt wird.
Ich habe die folgenden t sql.
DECLARE @edition varchar(50);
set @edition = cast((select SERVERPROPERTY ('edition')) as varchar)
print @edition
In meinem Fall @edition = Express Edition (64-bit)
Wie kann ich Folgendes tun? (C # inspiriert).
DECLARE @isExpress bit;
set @isExpress = @edition.StartsWith('Express Edition');
sql
sql-server-2008
tsql
Valamas
quelle
quelle
colName LIKE 'prefix%'
sehr schnell sein wird , wenncolName
indiziert ist, abercolName LIKE '%substring%'
odercolName LIKE '%suffix'
wird langsam sein , da SQL Server nicht Suffix-Bäume erstellen , wenn Textindizierung. In ähnlicher Weise ist die VerwendungLEFT
mit einer Spalte auch langsam, da diese Abfragen nicht SARG-fähig sind. SARGability ist wichtig: dba.stackexchange.com/questions/162263/…Anscheinend möchten Sie http://msdn.microsoft.com/en-us/library/ms186323.aspx .
In Ihrem Beispiel wäre es (beginnt mit):
Oder enthält
quelle
Express Edition%
? Gibt Ihre Lösung nicht "true" zurück, wenn sich "Express Edition" irgendwo in der Zeichenfolge befindet? Es ist also genauer gesagt nur eine "Enthält" -Methodeich würde ... benutzen
Beispiel:
quelle