значения не возвращаются, как это должно быть в запросе SQL - PullRequest
0 голосов
/ 09 октября 2018

Я выполняю простой запрос PostgreSQL к следующей таблице с именем storelocation2:

store_name   | brand  | city   | store_id
----------------------------------------------
MS Products  | SAMSUNG|Gurugram|5611
Ajay Electric| SAMSUNG|Gurugram|5611
Vijay Sales  | SAMSUNG|Gurugram|5611

После выполнения этой команды:

postgres=> \d storelocation2;

возвращаются следующие данные таблицы:

   Column    |         Type          | Modifiers
-------------+-----------------------+-----------
store_name   | character varying(20) |
brand        | character varying(20) |
city         | character varying(20) |
store_id     | numeric               |

Запрос Теперь, когда я запускаю оператор выбора:

select city 
from storelocation2 where 
brand='SAMSUNG';

следующие результаты:

city
------
(0 rows)

, что неверно.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Проблема в том, что то, что вы видите как SAMSUNG, не то, что вы получаете.Обычно это происходит из-за неожиданных символов в начале или конце строки.

Наиболее распространенными являются пробелы, которые обрабатываются с помощью:

where trim(brand)= 'SAMSUNG'

Далее идут другие скрытые символы, которыевы можете найти с помощью:

where brand like '%SAMSUNG%'

Затем есть символы "между ними":

where brand ~ '.*S.*A.*M.*S.*U.*N.*G.*'

В зависимости от того, какие из них в конечном итоге совпадают, вы можете исследовать необычные символы вколонка.

0 голосов
/ 09 октября 2018

попробуйте, как показано ниже, с помощью функции uisng trim, хотя это уже сказано в комментариях

select city 
from storelocation2 where 
trim(brand)='SAMSUNG';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...