Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск с помощью хранимой процедуры
 
 автор: helena   (13.02.2013 в 16:37)   личное сообщение
 
 

В х.п. ищу по части совпадения номера
SELECT * FROM Организации WHERE номер like '%'+ rtrim(@номер_) +'%';
-------------------------------------------------------
Но мне хотелось сформировать строку @str для вызова в execute(@str)
@номер_ nvarchar(7)
declare @str varchar(255)
set @str = 'SELECT * FROM Организации'
set @str = @str+' WHERE номер='+ rtrim(@номер_) +';'
execute(@str) ------так работает, а мне нужен поиск по любой части - like %@номер_%
не получается правильно написать в команде like %@номер_%

  Ответить  
 
 автор: osmor   (15.02.2013 в 11:29)   личное сообщение
 
 

вопрос не совсем понятен
может так?

set @str = 'SELECT * FROM Организации'
set @str = @str+ " WHERE номер like '%"+ rtrim(@номер_) +"'%;"

  Ответить  
 
 автор: helena   (15.02.2013 в 12:13)   личное сообщение
 
 

нет, воспринимает номер like '%' как имя поля ?
invalid column name 'where номер like '%'.
invalid column name " %;'
Чем-то отличаются " от ' ?

  Ответить  
 
 автор: snipe   (15.02.2013 в 12:21)   личное сообщение
 
 

может правильно прописать
Select a1.Номер
from Таблица1 as a1
Where a1.Номер =1

я про явное указание таблицы

кавычки в данном случае воспринимаются как границы текста а аппостроф - нет

зы
like '%"+ rtrim(@номер_) +"%'"

  Ответить  
 
 автор: osmor   (15.02.2013 в 12:23)   личное сообщение
 
 

Чем-то отличаются " от ' ?


ничем
я ошибся
попробуйте

set @str = 'SELECT * FROM Организации'
set @str = @str+ " WHERE номер like '%"+ rtrim(@номер_) +"%';"

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList