このようなお問い合わせを頂いております
SELECT firstName
FROM student
WHERE LEN(firstName) > 5
「firstName」列に非クラスター化インデックスがあります。
通常、WHERE、HAVING などの句でテーブルの列に SQL 関数を使用しないことをお勧めします。そうしないと、SQL Server はインデックスを使用できません。
firstName 列で LEN() を使用せずにこのクエリを作成する別の方法はありますか?
このようなお問い合わせを頂いております
SELECT firstName
FROM student
WHERE LEN(firstName) > 5
「firstName」列に非クラスター化インデックスがあります。
通常、WHERE、HAVING などの句でテーブルの列に SQL 関数を使用しないことをお勧めします。そうしないと、SQL Server はインデックスを使用できません。
firstName 列で LEN() を使用せずにこのクエリを作成する別の方法はありますか?
これが役立つかどうかはわかりません:
;WITH MyCTE AS
(
SELECT FirstName,
LEN(FirstName) AS NameLength
FROM student
)
SELECT FirstName
FROM student
WHERE NameLength > 5
CTE の使用は 1 つの選択肢かもしれません
;WITH CTE AS(
SELECT firstName,
LEN(firstname) AS NameLength
FROM student
)
SELECT firstname
FROM CTE
WHERE NameLength > 5
ラージ