powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом:
9 сообщений из 9, страница 1 из 1
Помогите с запросом:
    #32045171
Jcomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите начинающему с запросов все вроди бы просто:
var sdate = '01.01.01 12:32:32'
select * from messagebase where date > '"+sdate+"' and forumid=16

Вобчем пустяковы вопрос ...но как сконвертить
character string to smalldatetime data type. ??
Потому что в результате вот такая ошибка:
Syntax error converting character string to smalldatetime data type.
...
Рейтинг: 0 / 0
Помогите с запросом:
    #32045190
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая версия SQL (6.5, 7.0, 2000)?
Если все это Вы делаете на Delphi (var sdate = '01.01.01 12:32:32'), то посмотрите через SQL Profiler (sQLTrace) что у Вас передается на сервер.
У меня коснтрукция select convert (smalldatetime, '01.01.01 12:32:32') отработала нормально.
...
Рейтинг: 0 / 0
Помогите с запросом:
    #32045193
~Bazul~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй так
Код: plaintext
select * from messagebase where date >convert(smalldatetime,'''+sdate+''', 4 )  and forumid= 16  
...
Рейтинг: 0 / 0
Помогите с запросом:
    #32045198
psycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что то не то с кавычками видимо.
select * from messagebase where date > sdate and forumid=16
работает из Query Analyser.
Однако
select * from messagebase where date > '"+sdate+"' and forumid=16
выдает именно эту ошибку.
...
Рейтинг: 0 / 0
Помогите с запросом:
    #32045199
Jcomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал обо варинта .... гым явный :
select * from messagebase where date > convert(smalldatetime,'04/04/2004') and forumid=16
Работает .... а вот
select * from messagebase where date > convert(smalldatetime,'"+sdate+"') and forumid=16
Нет та же ошибка .. хотя я передаю стринг .. однозначно ..
Версия сервера 7.0
...
Рейтинг: 0 / 0
Помогите с запросом:
    #32045206
Jcomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гым ... без кавычек: ....
Incorrect syntax near 'Aug'.
где он берет там слово Aug ?? Я переменную перед самым запросом печатаю ... все нормально ... одни цифры ..
...
Рейтинг: 0 / 0
Помогите с запросом:
    #32045208
~Bazul~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотря откуда ты этот запрос посылашь - судя по твоему описанию переменная дельфейская, а не sql. Если батч пишется на sql синтаксис такой:
Код: plaintext
1.
2.
declare @sdate char( 20 ) 
set @sdate= '21.01.01 12:32:32' 
select * from messagebase where date >convert(smalldatetime,@sdate, 4 ) and forumid= 16  


А если ты пытаешься сформировать стоку в TQuery дельфи, то так:
var sdate : string;
begin
....
sdate:='01.01.01 12:32:32'
Query.Sql.Add('select * from messagebase where date > convert(smalldatetime,'''+sdate+''',4) and forumid=16')
...
end
...
Рейтинг: 0 / 0
Помогите с запросом:
    #32045239
Jcomp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не но вы себе представьте:
Пишу я на ASP .. вот кусок кода:
После него вызываеться функция в которой и есть требуемый запрос ..
Код: plaintext
1.
2.
3.
4.
5.
6.
   findID = DB.Execute( "select TOP 1  * from messageBase where id>"+id+ "and parentID=0 ");
   if (!findID.EOF) {
     sdate = findID.Fields( "date" );
	Response.Write(sdate); //Вот тут выводит дату в формате  "21 . 08 . 2002   13 : 21 : 00  "
	sdate =  "21 / 08 / 02   13 : 21 : 00 "; //Если написать вот так тоесть явно ... то запрос работает ...
  }

Если явно не указывать то не работает ...
Причем если вывести значение sdate в функции .. то получаеться:
Wed Aug 21 13:21:00 UTC+0300 2002
тоесть время в UTC ... у меня таких приколов небыло ...
я уже весь стол погрыз .. ниче придумать немогу ..
...
Рейтинг: 0 / 0
Помогите с запросом:
    #32045241
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте формат 'yyyymmdd hh:mm:ss.sss' ('20020821 13:21:00')
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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