MSSQL конвертация даты
От: chirchik  
Дата: 27.07.05 12:48
Оценка:

DECLARE @BeginDate datetime, @EndDate datetime

SET @BeginDate = CONVERT(datetime,'10.07.2005',104)
--SET @EndDate = '2005-30-07'

EXECUTE ('SELECT *
        FROM Table
        WHERE (CrtDate BETWEEN '+@BeginDate+'AND '+@EndDate+')')



Ругается на строку

SET @BeginDate = CONVERT(datetime,'10.07.2005',104)


Помогите пожалуйста правильно задать дату.
Re: MSSQL конвертация даты
От: pkarklin  
Дата: 27.07.05 12:53
Оценка:
Здравствуйте, chirchik, Вы писали:


C>

C>DECLARE @BeginDate datetime, @EndDate datetime

C>SET @BeginDate = CONVERT(datetime,'10.07.2005',104)
C>--SET @EndDate = '2005-30-07'

C>EXECUTE ('SELECT *
C>        FROM Table
C>        WHERE (CrtDate BETWEEN '+@BeginDate+'AND '+@EndDate+')')
C>



C>Ругается на строку


C>
C>SET @BeginDate = CONVERT(datetime,'10.07.2005',104)
C>


Ругань надо приводить!


C>Помогите пожалуйста правильно задать дату.


SET @BeginDate = '20050710'
Re[2]: MSSQL конвертация даты
От: chirchik  
Дата: 27.07.05 13:04
Оценка:
#5: SET @BeginDate = '20050710'
#6: SET @EndDate = '20050730'



Server: Msg 170, Level 15, State 1, Line 6
Line 6: Incorrect syntax near '10'.

не работает
Re[3]: MSSQL конвертация даты
От: algol Россия about:blank
Дата: 27.07.05 13:17
Оценка:
Здравствуйте, chirchik, Вы писали:

C>
C>#5: SET @BeginDate = '2005-07-10'
C>#6: SET @EndDate = '2005-07-30'
C>
Re[3]: MSSQL конвертация даты
От: pkarklin  
Дата: 27.07.05 13:32
Оценка:
Здравствуйте, chirchik, Вы писали:


C>
C>#5: SET @BeginDate = '20050710'
C>#6: SET @EndDate = '20050730'
C>



C>Server: Msg 170, Level 15, State 1, Line 6

C>Line 6: Incorrect syntax near '10'.

C>не работает


В этих строках нет синтаксических ошибок!
Re: MSSQL конвертация даты
От: chirchik  
Дата: 27.07.05 14:53
Оценка:
Здравствуйте, chirchik, Вы писали:


C>

C>DECLARE @BeginDate datetime, @EndDate datetime

C>SET @BeginDate = CONVERT(datetime,'10.07.2005',104)
C>--SET @EndDate = '2005-30-07'

C>EXECUTE ('SELECT *
C>        FROM Table
C>        WHERE (CrtDate BETWEEN '+@BeginDate+'AND '+@EndDate+')')
C>



Разобрался я... надо было так:

EXECUTE ('SELECT *
        FROM Table
        WHERE (CrtDate BETWEEN '''+@BeginDate+''' AND '''+@EndDate+''')')
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.