Параметры datatime в ХП
Добавлено: 21 Апрель 2006, 5:34
почему если передавать дату как стрингу то нужен формат yyyy-dd-mm, когда как по правилам сервера формат строки yyyy-mm-dd
Место общения программистов, форум разработчиков БД на Clarion
https://www.forum.clarionlife.net/
ну это вопрос уже не ко мне, что передаёшь то и получаешь, строка есть строка, формат даты задаётся после установки соединенияДенис писал(а):почему если передавать дату как стрингу то нужен формат yyyy-dd-mm, когда как по правилам сервера формат строки yyyy-mm-dd
Код: Выделить всё
set dateformat ymd
Код: Выделить всё
loc_Date DATE
loc_Time TIME
tmp MAVExecSP
CODE
loc_Date = TODAY()
tmp.BindParameter(loc_Date)
IF tmp.Run('mySP')
MAVSHOWERROR
RETURN
END
Код: Выделить всё
sqlSp MAVExecSp
cDate STRING(8)
gDate GROUP, OVER(cDate)
gDate_DATE DATE
gDate_TIME TIME
END
CODE
gDate.gDate_DATE = DATE(...)
sqlSp.BindParameter(cDate)
sqlSp.Run(ХП)
а читать повнимательнее можешь?Денис писал(а):Пробовал я через стринговую переменную и группу с атрибутом over. При запуске ХП выдается сообщение о невозможности конвертации, из-за этого вернулся к передаче строки
Пробовал примено так:
Код: Выделить всё
sqlSp MAVExecSp cDate STRING(8) gDate GROUP, OVER(cDate) gDate_DATE DATE gDate_TIME TIME END CODE gDate.gDate_DATE = DATE(...) sqlSp.BindParameter(cDate) sqlSp.Run(ХП)
Непойму я чет как это в текст проги перевестиAndrew Myalin писал(а): а читать повнимательнее можешь?
В КАЧЕСТВЕ ВХОДНОГО ПАРАМЕТРА ДОЛЖНА БЫТЬ НЕ STRING(8) - её вааще не требуется, ЭТО ПРИДУМАЛИ ВЕЛОСИПЕДИСТЫ, А ПОЛЕ ТИПА DATE, за которым в декларации идёт поле типа TIME