mysql - 仅匹配空格的通配符

标签 mysql

是否有只匹配空格的通配符?我正在尝试查找所有类似于以下内容的记录:

Berlin  DE
Munchen  DE
London        GB

这是我的查询:

SELECT
    cities_aliases.alias,
    cities_aliases.id as alias_id,
    cities.id as clean_id,
    cities.city,
    cities.country
FROM
    cities_aliases,
    cities
WHERE
    LOWER(cities_aliases.alias) LIKE CONCAT(cities.city,'WILDCARD_THAT_MATCHES_WHITESPACES_ONLY', LOWER(cities.country))
    AND
    cities.country = cities_aliases.country
    AND
    cities_aliases.citycode IS NULL

最佳答案

不,不能定义通配符,它​​始终是“任何内容”。

但是,您可以通过使用 REGEXP 来实现您想要的目的功能。

这可能会很慢,因为它通常会导致全表扫描,如果您有大量数据集,则可能需要一些时间。

例如:

SELECT city FROM cities
WHERE city REGEXP 'London\s*GB'

关于mysql - 仅匹配空格的通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21633226/

相关文章:

mysql - SQL 在开始和结束之间的时间连接表

php - Sql select count 使用五个条件

mysql - 不明白 MySQL 中的 USING 语法

mysql - 如何在mysql中使用约束名称

php - 一名或多名参与者绘制()失败,列标签无效

java - 插入在另一个表中有列的表

mysql - mysql中的AUTO_INCREMENT可以默认签名吗?

Mysql更新递增

java - Java-MySQL 连接异常

php - 在 PHP/MySql 中构建 sql 或 while 循环哪个更好