Ale*_*der 4 t-sql sql-server select where
我是TSQL的新手.我需要编写一个返回过滤记录的存储过程.因此用户有两个日期要输入.他只能输入一个日期,或两个,或两者,或任何一个.
在存储过程中,我有两个参数@From,@ To - date type.我需要搜索记录.
如果用户没有输入日期 - 我不关心选择查询中的日期.
如果用户输入了2个日期 - 我需要包含它们进行搜索.
如果用户输入@From日期 - 我需要搜索到今天为止.
如果用户输入@To日期 - 我需要搜索小于@To的日期.
谢谢你的帮助.
Mit*_*eat 11
SELECT ColumnList
FROM MyTable
WHERE
(@FromDate IS NULL OR FromDateColumn >= @FromDate)
AND (@ToDate IS NULL OR ToDateColumn <= @ToDate )
Run Code Online (Sandbox Code Playgroud)
(但请注意,由于参数嗅探,这可能会受到不合适的缓存查询计划的影响,特别是如果WHERE子句中存在大量参数条件)
| 归档时间: |
|
| 查看次数: |
4216 次 |
| 最近记录: |