Главная страница
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.009 c
2-1288890745
Alik
2010-11-04 20:12
2011.01.23
Проблема с WriteFile ReadFile


2-1288704183
LDV
2010-11-02 16:23
2011.01.23
sql запрос выполняется медленнее lookup


15-1286545618
miklsd
2010-10-08 17:46
2011.01.23
Длинные строки в RichEdit


15-1285935354
Германн
2010-10-01 16:15
2011.01.23
Шнобель за 2010 год


2-1288563898
Германн
2010-11-01 01:24
2011.01.23
Отладка компонент