Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.23;
Скачать: CL | DM;

Вниз

select отказывается искать данные в столбце...   Найти похожие ветки 

 
Ламот ©   (2009-08-20 16:31) [0]

День добрый, создал таблицу:
CREATE TABLE temp_table (name varchar(128));
загрузил в нее данные из файла, делаю:
select count (name);
показывает, что в таблице 2094 записей (столько и должно быть).
Затем делаю:
select * from temp_table limit 1;
копирую результат и запускаю:
select * from temp_table where name = "результат предыдущего запроса";
Выдает: (0 rows)
... что-то не так сделал, когда создавал таблицу или что это может быть?
Визуально - данные идентичны, по \e в запросе тоже все чисто (непечатных символов нет), куда посмотреть и что подправить?

Зарание спасибо.

PS. Извиняюсь за "сумбур в описании вопроса"...


 
Медвежонок Пятачок ©   (2009-08-20 16:33) [1]

селекту надо верить. иначе далеко не уедешь


 
Ламот ©   (2009-08-20 16:39) [2]

Вот-вот, я пока искал где у меня скрипт сбоит - с ног сбился, а когда нашел - совсем крыша поехала... (((
Так что это может быть?
Загружаемый текст состоит из латинских букв, цифр, точек и собаки... может это из-за собаки (@), она присутствует в каждом значении?


 
Медвежонок Пятачок ©   (2009-08-20 16:45) [3]

Так что это может быть?

В таблице нет записей, которые удовлетворяют условию "where".
Либо в читающей транзакции они еще не видны, что равносильно тому, что их там нет


 
Palladin ©   (2009-08-20 16:48) [4]

чего не понятного... нет в таблице name = "результат предыдущего запроса"


 
Ламот ©   (2009-08-20 17:05) [5]

Докопался, спасибо, непечатные символы в саму таблицу забрались, поэтому по строгому сравнению не находились, нашел по ~...
Еще раз всем спасибо, буду переделывать))


 
stas ©   (2009-08-20 17:06) [6]

а так?
select * from temp_table where name Like "результат%";


 
Ламот ©   (2009-08-20 17:30) [7]


> а так?select * from temp_table where name Like "результат%";

Почти так и нашел (только использовал тильду а не Лайк, до сих пор не понимаю принципиальной разницы между ними, кроме того, что пишется кароче).
В общем - еще раз всем спасибо)


 
Ega23 ©   (2009-08-21 10:09) [8]


> (только использовал тильду а не Лайк, до сих пор не понимаю
> принципиальной разницы между ними, кроме того, что пишется
> кароче


Postgres:
The operator ~~ is equivalent to LIKE, and ~~* corresponds to ILIKE. There are also !~~ and !~~* operators that represent NOT LIKE and NOT ILIKE, respectively. All of these operators are PostgreSQL-specific.

MSSQL:
~ (побитовое НЕ) (Transact-SQL)
Побитовый оператор ~ выполняет побитовую логическую операцию НЕ для аргумента expression, обрабатывая последовательно каждый бит. Если аргумент expression имеет значение 0, биты в результирующем наборе устанавливаются в 1; иначе бит в результате приобретает значение 0. Другими словами, единицы меняются на нули, нули меняются на единицы.


А Like - он и в Postgres и в MSSQL и во всех остальных СУБД - всегда LIKE


 
Vitalts   (2009-08-31 14:31) [9]

~ в PostgreSQL - регулярные выражения



Страницы: 1 вся ветка

Текущий архив: 2011.01.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
15-1286012047
xayam
2010-10-02 13:34
2011.01.23
Проект Россия


2-1288051827
demon
2010-10-26 04:10
2011.01.23
Как все цифры в RichEdit покрасить в другой цвет?


2-1288134132
Германн
2010-10-27 03:02
2011.01.23
Работа с "хранилищем объектов" (Repository)


15-1286524599
И. Павел
2010-10-08 11:56
2011.01.23
Как остановить трассировку?


15-1286365948
Андрей Пл
2010-10-06 15:52
2011.01.23
отображение графика с прерыванием?