先頭にスペースがある名前とそうでない名前があるテーブルがあります。
$name
テーブル内の名前と一致させる必要がある変数があります$name
が、先頭にスペースがありません。この場合、クエリをどのように記述すればよいですか?
各値の先頭と末尾のスペースを削除します。
SELECT *
FROM tableName
WHERE TRIM(colName) = '$name'
TRIM
先頭と末尾を
LTRIM
トリム 先頭のスペースを
RTRIM
トリム 末尾のスペースをトリム
を使用することをお勧めしSELECT *
FROM tableName
WHERE colName = '$name' Or colName = concat(' ' , '$name')
ます。主な理由はインデックスの使用です。計算列でフィルター処理を行うとltrim(colName)
、DB エンジンは colName でインデックスを使用できません。私の提案では、colName でインデックスを使用できます。