34,587
社区成员
发帖
与我相关
我的任务
分享
IF OBJECT_ID('tempdb..#tabA') IS NOT NULL
DROP TABLE #tabA
CREATE TABLE #tabA(
a VARCHAR(20)
)
INSERT INTO #tabA
SELECT 'J2017001053' UNION ALL
SELECT 'J2017001054' UNION ALL
SELECT 'J2017001055' UNION ALL
SELECT 'J2017001056' UNION ALL
SELECT 'J2017001057' UNION ALL
SELECT 'J2017001058'
IF OBJECT_ID('tempdb..#tabB') IS NOT NULL
DROP TABLE #tabB
CREATE TABLE #tabB(
begin_a VARCHAR(20),
end_a VARCHAR(20)
)
INSERT INTO #tabB
SELECT 'J2017001053','J2017001057' UNION ALL
SELECT 'J2017001058',NULL
--测试数据结束
SELECT * FROM #tabB a
INNER JOIN #taba AS b ON LEFT(b.a,1)= LEFT(a.begin_a,1)
WHERE cast(RIGHT(b.a,LEN(b.a)-1) AS int)
BETWEEN cast(RIGHT(a.begin_a,LEN(a.begin_a)-1) AS int)
AND cast(RIGHT(isnull(a.end_a,a.begin_a),LEN(isnull(a.end_a,a.begin_a))-1) AS int)