我會盡可能清楚我所需要的。基本上,我有'FromDate'和'ToDate'參數。默認情況下,我希望這些參數包含所有日期/時間。我可以通過檢查'允許空值'並處理主存儲過程中的NULL來實現這一點。不幸的是,商業用戶不會理解Null複選框的含義。另外,我可以將默認日期設置爲SQL Server支持的最早和最遲日期,但這很醜陋。因此,我需要解決。 我需要一些方法來將這些參數默認爲空白值,這樣當我運行報告時,無論日期如何,我都立即獲取記錄。然後,如果用戶想調整日期,他們應該能夠點擊日曆圖標並選擇From和To Dates(該參數必須保持日期時間)。 有什麼建議嗎?空白日期參數而不是使用'允許空'複選框
1
A
回答
0
編輯:剛纔看到你正在使用SSRS - 可以使包含FROM_DATE表達式中的文本框:
=iif(Parameters!from_date="1753-01-01","",Parameters!from_date)
對於UI或報告,你可以掩蓋SQL分鐘日期值作爲空字符串或「選擇日期...」字符串?
if from_date_in_sql = '1753-01-01' then
from_date_on_report = ""
end if
因爲這隻會影響報表/ UI顯示日期的方式,所以您不必在SQL表中允許NULL日期。保存時,你必須做相反的..如果from_date_on_report =「」然後設置from_date_to_save_to_SQL_table ='1753-01-01'
+0
不幸的是,沒有辦法屏蔽參數標籤,因爲我仍然需要日曆彈出工作:/ – user3388656
0
我會通過在存儲過程中進行更改使參數在報告上可選。
如果用戶沒有選擇日期,請確保空值或沒有值傳遞給參數(默認設置爲空),如果他們確實選擇日期值應該傳遞給過程,並且您的程序應該看起來像.....
CREATE PROCEDURE my_report_Sp
@StartDate DATE = NULL
,@EndDate DATE = NULL
AS
BEGIN
SET NOCOUNT ON;
Declare @Sql NVARCHAR(MAX);
SET @Sql = N' SELECT * FROM TableName WHERE 1 = 1 '
+ CASE WHEN @StartDate IS NOT NULL
THEN N' AND DateColumn >= @StartDate' ELSE N'' END
+ CASE WHEN @EndDate IS NOT NULL
THEN N' AND DateColumn <= @EndDate' ELSE N'' END
Exec sp_executesql @Sql
,N'@StartDate DATE,@EndDateDATE '
,@StartDate
,@EndDate
END
相關問題
- 1. ErrorProvider不允許空白日期文本框字段
- 2. 允許空白
- 3. 我如何使不允許列允許空和允許空列不允許空
- 4. 日期時間設定1 \ 1 \ 1900,而不是空或空白
- 5. Silverlight 5 DatePicker(或任何其他日期控制)允許空白/空/空值
- 6. 驗證ASP.Net文本框不爲空,但允許空白?
- 7. Java列表允許空白
- 8. Graphics.MeasureString允許太多空白
- 9. Rails複選框 - 允許用戶選擇本週的日期
- 10. 允許HTML5日期輸入空值
- 11. Firefox不允許空白contenteditable區域
- 12. 回覆到div而不是空白頁
- 13. 空白或空數字文本框而不是零值
- 14. 離子複選框使網格空白
- 15. 如何使ESIdentityCardNumberField允許空白
- 16. MVC jQuery的日期選擇器用於創建允許空值
- 17. 「日期不能爲空」,但它不是空白(ActiveRecord的驗證)
- 18. Sequelize是允許用戶鍵入「空」甚至允許爲空:假
- 19. 顯示空白框,而不是空白,同時即使在meta標籤
- 20. SSRS搜索允許一些空白的多個參數
- 21. 如何允許CGI在HTML接受空白的參數
- 22. 按屬性值排序對象而不允許空白或重複的算法
- 23. 評估非空白輸入但允許空白
- 24. Vaadin驗證日期,而不是空
- 25. 不允許輸入表單中的空白字符/空格
- 26. 意外的XML聲明。空白空間不允許
- 27. 空白index.php與選項-Indexes不允許目錄列表?
- 28. 計數返回空白,而不是0
- 29. 使DAX返回0而不是空白
- 30. SSRS參數。允許「全部」或「空」
日期時間不能是「空白值」。一個空字符串將被隱式轉換爲1900-01-01。當參數是可選的時,爲什麼使用默認的醜陋解決方案? –