2013-07-17 6 views
-1

У меня есть запись пользователя в две даты, скажем: '2013-7-8', '2013-7-15'
Хранимая процедура затем выполняет и возвращает и обновляет таблицу.
Две колонки:
SQL-поиск между датами

Avg_Paid_Volume ---- cns_amt

numb_im_looking_for ------------------------- 10000
numb_im_looking_for ------------------------ 20000
numb_im_looking_for ---------------------- ---- 30000
... и т.д.

cns_amt - это просто объем за указанный период времени.
Я ищу в среднем оплаченного объема через между указанными двумя датами, которые я назвал @dt_from и @dt_to -> в этом случае было бы 10000/8, 20000/8 и 30000/8

Я хотел бы, чтобы эти значения занесены в мою таблицу (в «numb_im_looking_for»)

ответ

1
Declare @dt_to datetime 
Declare @dt_from datetime 
set @dt_to = convert(datetime,'2013-7-8') 
set @dt_from = convert(datetime,'2013-7-15') 

Update tableName 
Set avg_paid_volume = (cns_amt/datediff(d,@dt_to,@dt_from)) 

DateDiff является ключевым здесь

+1

удивительным, спасибо! – euge1220

+0

На самом деле, есть ли способ, которым вам не нужно вручную вводить «2013-7-8» и «2013-7-15» в конверте(), и просто имейте это, чтобы вы могли выполнить процедуру «2013-7-8», , '2013'7'15', и эти даты автоматически используются в функции преобразования – euge1220

+0

да, это было больше, чтобы показать, что преобразование в datetime было необходимо, процедура exec является лучшим способом. – tkendrick20

Смежные вопросы