Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не работает AT() в строке после первой запятой / 6 сообщений из 6, страница 1 из 1
29.03.2010, 12:21
    #36547838
донМахито
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает AT() в строке после первой запятой
Всем приветище! Классный весенний день , а я на работе колупаюсь с фоксом:(
Кодишка:
Код: plaintext
1.
2.
SELECT name_nom ;
	FROM nobase ;
	WHERE AT(UPPER(ALLTRIM(name_nom)), upper("хлеб"))= 1  OR AT(UPPER(ALLTRIM(name_nom)), UPPER("сливочное масло, чай, сахар"))= 1 
В таблице есть: Хлеб, Хлеб ржаной, Чай заварка, Сахар.
Сравнивает только с "хлеб", "сливочное масло". Все, за запятую не идет. Что не так?
...
Рейтинг: 0 / 0
29.03.2010, 12:27
    #36547853
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает AT() в строке после первой запятой
донМахито,

Возможно потому at возвращает единицу только тогда, когда искомая подстрока начинается с первого символа в исходной.
Убери условие равенства единице и поставь условие > 0
...
Рейтинг: 0 / 0
29.03.2010, 12:50
    #36547923
донМахито
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает AT() в строке после первой запятой
AmKad,

Код: plaintext
1.
2.
SELECT name_nom ;
	FROM nobase ;
	WHERE AT(UPPER(ALLTRIM(name_nom)), upper("хлеб, хлеб ржаной"))> 1  OR AT(UPPER(ALLTRIM(name_nom)), UPPER("чай заварка, сахар, сливочное масло"))> 1 
Вывод: Сливочное масло, Сахар, Хлеб ржаной

Код: plaintext
1.
2.
SELECT name_nom ;
	FROM nobase ;
	WHERE AT(UPPER(ALLTRIM(name_nom)), upper("хлеб, хлеб ржаной"))>= 1  OR AT(UPPER(ALLTRIM(name_nom)), UPPER("чай заварка, сахар, сливочное масло"))>= 1 
Вывод: Сливочное масло, Сахар, Хлеб, Хлеб ржаной, Чай заварка. С равно заработал.
Спасибо!
...
Рейтинг: 0 / 0
29.03.2010, 13:26
    #36548014
quxix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает AT() в строке после первой запятой
донМахитоВсем приветище! Классный весенний день , а я на работе колупаюсь с фоксом:(
Кодишка:
Код: plaintext
1.
2.
SELECT name_nom ;
	FROM nobase ;
	WHERE AT(UPPER(ALLTRIM(name_nom)), upper("хлеб"))= 1  OR AT(UPPER(ALLTRIM(name_nom)), UPPER("сливочное масло, чай, сахар"))= 1 
В таблице есть: Хлеб, Хлеб ржаной, Чай заварка, Сахар.
Сравнивает только с "хлеб", "сливочное масло". Все, за запятую не идет. Что не так?

Зачем вводить данные в запрос!?
Лучше создать справочник изделий и оттудова дергать.
Коды должны быть в программах,а данные в таблицах.
Код: plaintext
1.
AT(UPPER(ALLTRIM(name_nom)), upper("хлеб"))= 1 
пользуй atc()-регистронезависисмое сравнение
...
Рейтинг: 0 / 0
29.03.2010, 14:10
    #36548110
донМахито
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает AT() в строке после первой запятой
quxix,
это тестовый запрос. За ATC() спасибо.
...
Рейтинг: 0 / 0
29.03.2010, 21:02
    #36549209
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает AT() в строке после первой запятой
донМахито, пользуй также "$" и "like"
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не работает AT() в строке после первой запятой / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]