无论用户是否输入带空格的字符串,获取MySQL SELECT结果的方法是什么?例如,在数据库中,我有列值“B 009”,我想为参数“b 009”和“b009”选择它。 我正在使用PHP。
答案 0 :(得分:2)
由于您希望不区分大小写,请使用upper
SELECT * FROM table_name
WHERE upper(REPLACE(column_name, ' ', ''))
LIKE upper(REPLACE(value_to_be_matched, ' ', ''));
对于MYSQL Fiddle,
SELECT * FROM test WHERE
REPLACE(column1, ' ' , '') = REPLACE('b 009', ' ', '');
答案 1 :(得分:1)
SELECT * FROM table_name
WHERE REPLACE(column_name, ' ', '') LIKE REPLACE('b 009', ' ', '');
值b 009
是您的输入值。使用LIKE
的字符串比较不区分大小写,除非其中一个操作数区分大小写(使用区分大小写的排序规则或是二进制字符串)。
答案 2 :(得分:0)
SELECT不区分大小写。对于空格,假设您的列是“user”表中的“name”,您可以使用正则表达式执行此操作:
SELECT * FROM user WHERE name REGEXP 'B *009'