Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно создать SQL запрос 
:(
    Опции темы
disketa
  Дата 25.5.2010, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.5.2010

Репутация: нет
Всего: нет



Подскажите пожалуйста, как правильно создать SQL запрос, для поиска части строки, делаю так:

Код


SELECT name FROM list WHERE ((name = "Слово"));")



Нужно, чтобы sql запрос вывел все записи, где в поле name упоминалось строка "Слово"

Как это реализовать?
PM MAIL   Вверх
Akina
Дата 25.5.2010, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



WHERE name LIKE '%Слово%'
WHERE CHARINDEX(name,'Слово')
WHERE PATINDEX(name,'Слово')



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 25.5.2010, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Akina @  25.5.2010,  14:47 Найти цитируемый пост)
WHERE CHARINDEX(name,'Слово')
WHERE PATINDEX(name,'Слово')

WHERE CHARINDEX('Слово',name) > 0
WHERE PATINDEX('%Слово%',name) > 0



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 25.5.2010, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Zloxa
Цитата

Если аргумент expression1 не найден в expression2, функция CHARINDEX возвращает 0.

Ноль при приведении к логическому типу даст False. Не-ноль - даст True. 
Так что всё в порядке.
PS. плюс одно приведение и минус одно сравнение


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 25.5.2010, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Akina @  25.5.2010,  16:46 Найти цитируемый пост)
всё в порядке.

Код

/*------------------------
select * from (select 1 val) s where 0
------------------------*/
Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near '0'.

/*------------------------
select * from (select 'hello' val) s where CHARINDEX('l',val) > 0
------------------------*/
val
-----
hello

(1 row(s) affected)

/*------------------------
select * from (select 'hello' val) s where CHARINDEX('l',val)
------------------------*/
Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near ')'.


ЗЫ MS 2k


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 25.5.2010, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



От зараза! не хочет без CAST преобразовывать... 
Сорри, избаловался.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
disketa
Дата 27.5.2010, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.5.2010

Репутация: нет
Всего: нет



Akina, спасибо!

Вот так то что надо:

Код

SELECT name FROM list WHERE name LIKE '%Слово%';


всё работает  smile 
PM MAIL   Вверх
Akina
Дата 27.5.2010, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Я бы всё-таки рекомендовал попробовать использовать CHARINDEX - он должен работать быстрее имхо...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 27.5.2010, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Akina @  27.5.2010,  10:29 Найти цитируемый пост)
быстрее 

если и быстрее, думаю в пределах, не превышающих погрешности измерения.
Основные затраты будут на дисковые чтения, на этом фоне экономия пары сот тиков процессора на проверке для одной записи - экономия леса на спичках

Это сообщение отредактировал(а) Zloxa - 27.5.2010, 10:34


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Расиля
Дата 16.7.2010, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.7.2010

Репутация: нет
Всего: нет



Здравствуйте! делаю select из таблицы - конкретное поле. Подскажите, как сделать чтоб результат выходил через запятую?
PM MAIL   Вверх
kobra
Дата 17.7.2010, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 5
Всего: 9



Цитата(Расиля @  16.7.2010,  08:56 Найти цитируемый пост)
Подскажите, как сделать чтоб результат выходил через запятую? 
не понял
PM MAIL   Вверх
Расиля
Дата 19.7.2010, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.7.2010

Репутация: нет
Всего: нет



Цитата(kobra @ 17.7.2010,  17:45)
Цитата(Расиля @  16.7.2010,  08:56 Найти цитируемый пост)
Подскажите, как сделать чтоб результат выходил через запятую? 
не понял

select N89 from FN205   where N1= 336742 

хочу чтоб результат выводился через запятую, делаю шаблон и печатную форму. Пользователь не хочет табличный результат, надо чтоб выходил результат в строчку
PM MAIL   Вверх
kobra
Дата 19.7.2010, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 5
Всего: 9



вот тепер понятно smile
напиши функцию, которая из записей, в курсоре, создаст строку.

PM MAIL   Вверх
VirusUZ
  Дата 20.7.2010, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

Репутация: нет
Всего: -2



Код

SELECT name FROM list WHERE name like '%Слово%'


Это сообщение отредактировал(а) VirusUZ - 20.7.2010, 10:03
--------------------
Virus
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0930 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.