sql >> Database teknologi >  >> RDS >> Mysql

SQL hvor klausulen ikke virker

OPDATERING:OP havde usynlige nylinjetegn (\n) i sit datasæt. @EternalPoster (og jeg) formodede, at Trim ville fjerne alt mellemrum , men MySql Trim-dokumentation angiver førende og efterfølgende kun mellemrum .

Dette er, hvad jeg gjorde:

-- for http://stackoverflow.com/questions/27203169/sql-query-not-work-for-google-com
-- and http://stackoverflow.com/questions/27202157/sql-where-clause-not-working

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

-- --------------------------------------------------------

DROP TABLE IF EXISTS `sites`;

--
--  structure for table `sites`
--
CREATE TABLE IF NOT EXISTS `sites` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `site` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- data for table `sites`
--
INSERT INTO `sites` (`id`, `site`) VALUES
(1, 'xyz.com'),
(2, 'google.com'),
(3, 'example.com');

--
-- select google
--
SELECT * 
FROM sites 
WHERE site = 'google.com'
;

--
-- select google
--
SELECT * 
FROM sites 
WHERE site = 'google.com'
;

og dette er hvad jeg fik:

Så i mit tilfælde ser jeg scriptet fungere som forventet.

Hvad er anderledes ved dit tilfælde? Min installation er en temmelig standardopsætning. Det faktum, at Like '%google.com%' fungerer på dit datasæt foreslår et par ting. Folk har allerede foreslået TRIM , fordi Like-udtrykket ville matche usynlige tegn (mellemrum, tabulatorer, backspaces, null). MySQL har en separat operatør REGEXP for regulære udtryk, så det ser ikke ud til at være . karakter bliver brugt som et jokertegn, men det kan være værd at se.

Opret en tom database og prøv at køre mit script ovenfor. Får du det samme resultat som jeg?



  1. PostqreSQL i Rails:Hvordan får jeg serveren til at køre lokalt OG accepterer forbindelser på Unix domæne-socket?

  2. #1066 - Ikke unik tabel/alias:

  3. MySQL-søgning med uft8_general_ci skelner mellem store og små bogstaver for FULLTEXT?

  4. SQL DROP TABLE Syntaks – Listet efter DBMS