powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно написать запрос?
8 сообщений из 8, страница 1 из 1
Как правильно написать запрос?
    #32069463
Максим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
У меня возникла проблема с написанием запроса:

declare @sql1 varchar(8000)
set @sql1 = 'select top 10 ITIME, AREA, GRP, MSG, ATIME, NTIME from rezult
where (ITime BETWEEN '2002/05/14 00:00:00' And '2002/11/14 00:00:01') order by var4 desc'
exec(@sql1)

В этом запросе работает все нормально до того момента, пока я не подставляю условие выборки (where (ITime BETWEEN '2002/05/14 00:00:00' And '2002/11/14 00:00:01') order by var4 desc). В выборке выдается ошибка по поводу 2002, т.к. перед ним стоит симбол '. Каким образом писать значения полей в запросе, чтобы не было ошибки?
Заранее благодарен!!!
...
Рейтинг: 0 / 0
Как правильно написать запрос?
    #32069471
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СМ. формат даты - или язык для login'a на SQL Server'e или Control Panel -> Regional Settings

P.S. Я уже каждый день пишу про Control Panel -> Regional Settings
...
Рейтинг: 0 / 0
Как правильно написать запрос?
    #32069474
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убери слеши и пиши всё слитно
...
Рейтинг: 0 / 0
Как правильно написать запрос?
    #32069475
dao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу имел ввиду 'yyyymmdd hhmmss'
...
Рейтинг: 0 / 0
Как правильно написать запрос?
    #32069480
Максим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А при чем здесь Controll Panel и Regional Settings ?????
Я ведь спрашиваю как написать в этом запросе значения полей в одиночных кавычках, не разорвав целостности выражения, передаваемого переменной. А значение поля 2002/05/14.... дано просто для сравнения, если Вас смущает, что это дата, то можно поставить и другое значение (любое на Ваш вкус).
...
Рейтинг: 0 / 0
Как правильно написать запрос?
    #32069488
Monarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том чтот для того чтобы в таком виде использовать ковычку необходимо ставить их парами т.к. сервер воспринимает кусок 2002/05/14 00:00:00 как не пойми чтот, а если написать

Код: plaintext
1.
2.
3.
declare @sql1 varchar( 8000 ) 
set @sql1 = 'select top 10 ITIME, AREA, GRP, MSG, ATIME, NTIME from rezult 
where (ITime BETWEEN ''2002/05/14 00:00:00'' And ''2002/11/14 00:00:01'') order by var4 desc' 
exec(@sql1) 


то по моему все должно быть cool.

Да, к стати, двойнае кавычки это на самом деле пара одинарных т.е. ' и еще одна '.
...
Рейтинг: 0 / 0
Как правильно написать запрос?
    #32069490
fima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо одной надо ставить две, вот пример:
Код: plaintext
select 'example''example'
...
Рейтинг: 0 / 0
Как правильно написать запрос?
    #32069524
Максим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо, все работает!!!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно написать запрос?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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