MSSQL 按时间段查找数据 如果时间为空如何处理 详细描述如下:
答案:1 悬赏:80
解决时间 2021-03-05 08:00
- 提问者网友:泪痣哥哥
- 2021-03-05 03:10
MSSQL 按时间段查找数据 如果时间为空如何处理 详细描述如下:
最佳答案
- 二级知识专家网友:山河有幸埋战骨
- 2021-03-05 04:35
CREATE PROCEDURE [dbo].[mysp_select_sth](
@NO nvarchar(20),
@DateStart DATETIME,
@DateEnd DATETIME )
AS
SET NOCOUNT ON
SELECT *
FROM
[MyTable]
WHERe
(isnull(@NO,'')='' or [序号] = @NO)
AND (isnull([时间],'')='' or [时间] >= @DateStart)
AND (isnull([时间],'')='' or [时间] <= @DateEnd)像这样就行了。
这里解释一下,将''赋值给时间字段时,会得到1900年1月1日0点。换句话说:
isnull([时间],'')=''
--等价于
isnull([时间],'1900-01-01 00:00:00')='1900-01-01 00:00:00'
追问:对额,我忘记我传参进去的不是null了,是自己随便扯的一个日期,我好SB啊~~谢谢了~
@NO nvarchar(20),
@DateStart DATETIME,
@DateEnd DATETIME )
AS
SET NOCOUNT ON
SELECT *
FROM
[MyTable]
WHERe
(isnull(@NO,'')='' or [序号] = @NO)
AND (isnull([时间],'')='' or [时间] >= @DateStart)
AND (isnull([时间],'')='' or [时间] <= @DateEnd)像这样就行了。
这里解释一下,将''赋值给时间字段时,会得到1900年1月1日0点。换句话说:
isnull([时间],'')=''
--等价于
isnull([时间],'1900-01-01 00:00:00')='1900-01-01 00:00:00'
追问:对额,我忘记我传参进去的不是null了,是自己随便扯的一个日期,我好SB啊~~谢谢了~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯