如何使默认文本列的比较二进制(区分大小写和修剪)

时间:2016-05-06 16:17:37

标签: mysql sql

很抱歉,如果这是重复的,但我不知道如何找到问题。

嗨,这是我的表:

CREATE TABLE `log_Valor` (
    `idLog_Valor` int(11) NOT NULL AUTO_INCREMENT,   
    `Valor` text binary  NOT NULL,  
    PRIMARY KEY (`idLog_Valor`) 
)
ENGINE=InnoDB;

INSERT INTO `log_Valor` (Valor) VALUES ('teste');
INSERT INTO `log_Valor` (Valor) VALUES ('teste ');

我有两行:

1  | 'teste'
2  | 'teste '

当我跑步时:

SELECT * FROM log_Valor where valor = 'teste'

返回两行。

如何在不必在查询BINARY中指定的情况下使默认比较区分大小写并且不进行修剪?

1 个答案:

答案 0 :(得分:0)

使用LIKE代替=

SELECT * FROM log_Valor WHERE valor LIKE 'teste';

来自documentation

  

特别是,尾随空格很重要,对于使用=运算符执行的CHAR或VARCHAR比较不适用

DEMO