表A
ID BeginNo EndNo
1 EISU3000010 EISU3020009
2 NULL NULL
3 EISU3157010 EISU3171609
4 EISU3171610 EISU3196609
查询参数: EISU3000011 在表A中的数据
应该找到
ID BeginNo EndNo
1 EISU3000010 EISU3020009
2 NULL NULL
如何写查询SQL存储过程
------解决思路----------------------
USE TempDB
GO
IF OBJECT_ID('A')IS NOT NULL
DROP TABLE A
GO
;WITH [CTE](ID,BeginNo,EndNo)AS(
SELECT'1','EISU3000010','EISU3020009'
UNION ALL SELECT'2',NULL,NULL
UNION ALL SELECT'3','EISU3157010','EISU3171609'
UNION ALL SELECT'4','EISU3171610','EISU3196609'
)
SELECT * INTO A FROM CTE
--以上是测试例子
--开始执行
DECLARE @SearchStr VARCHAR(20)
SET @SearchStr='EISU3000010'
SELECT ID,BeginNo,EndNo
FROM A
WHERE (BeginNo IS NULL OR BeginNo<=@SearchStr)
AND(EndNo IS NULL OR EndNo>=@SearchStr)
DROP TABLE A