Mysql
 sql >> база данни >  >> RDS >> Mysql

Клаузата Sql where не работи

АКТУАЛИЗАЦИЯ:OP имаше невидими знаци за нов ред (\n) в своя набор от данни. @EternalPoster (и аз) предположихме, че Trim ще премахне всички бели интервали , но Документация за MySql Trim посочва само интервали в началото и края .

Ето какво направих:

-- 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'
;

и ето какво получих:

Така че в моя случай виждам, че скриптът функционира според очакванията.

Какво е различното във вашия случай? Моята инсталация е настройка по подразбиране. Фактът, че Like '%google.com%' работи върху вашия набор от данни предполага няколко неща. Хората вече предложиха TRIM , тъй като изразът Like ще съответства на невидими знаци (интервали, табулатори, backspaces, нули). MySQL има отделен оператор REGEXP за регулярни изрази, така че не изглежда, че . символът се използва като заместващ знак, но това може да си струва да се разгледа.

Създайте празна база данни и опитайте да стартирате моя скрипт по-горе. Получавате ли същия резултат като мен?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да се създаде колона в MySQL с израз като стойност по подразбиране?

  2. Кога избрахме DateTime пред Timestamp

  3. Връзката е отказана с MySQL на laravel и MAMP

  4. Инсталиране на MySQL на CentOS 7

  5. Как да съпоставя и сортирам по сходство в MySQL?