MySQL的。选择以特殊字符结尾的字符串

时间:2020-08-13 16:47:57

标签: mysql sql phpmyadmin

因此,如果我在MySQL 5.5中执行此查询:

SELECT mycol FROM mytable WHERE mycol LIKE '%Â'

我获得了mycol以A的任何变体结尾的所有记录,所以我得到了

LA
la
LÂ

如何修改此查询,以便仅获得以特定特殊字符结尾的结果

show create table mytable

CREATE TABLE `direcciones` (
 `idusuario` varchar(50) NOT NULL,
 `iddireccion` int(10) NOT NULL AUTO_INCREMENT,
 `calle` varchar(150) NOT NULL, **-- THIS IS MY FIELD**
 `numero` int(4) NOT NULL,
 `piso` varchar(10) NOT NULL,
 `puerta` varchar(10) NOT NULL,
 `localidad` varchar(100) NOT NULL,
 `provincia` varchar(100) NOT NULL,
 `cp` int(5) NOT NULL,
 PRIMARY KEY (`iddireccion`)
) ENGINE=InnoDB AUTO_INCREMENT=4192 DEFAULT CHARSET=latin1


show variables like '%character_set%'



character_set_client    utf8    
character_set_connection    utf8    
character_set_database  utf8    
character_set_filesystem    binary  
character_set_results   utf8    
character_set_server    latin1  
character_set_system    utf8    
character_sets_dir  /usr/share/mysql/charsets/  

1 个答案:

答案 0 :(得分:3)

要防止mysql使用列的排序规则设置(允许这些匹配),请指定您的字符串为二进制:

SELECT mycol FROM mytable WHERE mycol LIKE BINARY '%Â';

SELECT mycol FROM mytable WHERE mycol LIKE CAST('%Â' AS BINARY);
相关问题