1. 程式人生 > >frm表單-引數面板時間控制元件預設值問題總結

frm表單-引數面板時間控制元件預設值問題總結

相信大家在做一個報表的時候,會按照時間這個條件來進行查詢,可以是具體的某一個時間點(年、月、日、小時)博主這四個都有用到過


還有一種就是時間段的條件


還可以和別的如城市名等條件關聯查詢


原理上基本大同小異,就是在SQL語句中或模板引數中設定引數。主要是預設值的設定問題,


一、年

在右側資料字典設定取值範圍 range(2015,2017)

然後可以在上面空間值輸入預設值,如2017


二、月

同理,輸入 range(12) 

如果是時間段,則都輸入  range(12) ,預設值取分別取1  12 

三、日

預設取當前時間前一個月的資料

TODATE(DATE(YEAR(),MONTH()-1,DAY()))
所以同理可以取前n年,前n月,前n天的資料。

四、時

TODATE(DATETONUMBER(now())-3600*2*1000 - MINUTE(now())*60*1000 - SECOND(now())*1000)
解釋:先將當前時間轉換為毫秒級別,再減去兩個小時的毫秒,就能得到當前時間的前兩個小時,如果再減去當前分鐘以及秒對應的毫秒,就得到了當前時間的兩個小時前的整點。

 五、SQL語句

SQL語句查詢前兩天的資料:

DateDiff(dd,date,getdate()-2)=0

圖表一中獲取前幾個小時資料的方法為:

where TimePoint between dateadd(hh,-10,getdate()) and getdate()

獲取前三十天的資料:
where TimePoint between dateadd(dd,-30,getdate()) and getdate()

或者有引數時,預設寫:

DATEDELTA(today(),  -30)

以上幾種型別以及方法基本可以獲取任何時間點以及時間段的預設值,取值問題。