Главная страница
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.007 c
2-1288681780
DROWSY
2010-11-02 10:09
2011.01.23
Какое событие можно перехватить при сворачивании PickList-a


6-1231261773
Nucer
2009-01-06 20:09
2011.01.23
Восстановление TCP потока


2-1289104970
Zalm
2010-11-07 07:42
2011.01.23
TIdPOP3 & TIdMessage.Flags


15-1285962349
vuk
2010-10-01 23:45
2011.01.23
Немного про то как мотались в Монголию


2-1289196190
flasher
2010-11-08 09:03
2011.01.23
Обработка OnClick у CheckBox a