请尝试以下查询:
在这里,我尝试使用 SUBSTRING 和 CHARINDEX 函数来分隔年份,因为您想在 VARCHARYear 列上使用 BETWEEN 子句。
例如:SUBSTRING(VARCHARYear,1,(CHARINDEX('-', VARCHARYear)-1))
然后我尝试通过UNION收集同一列的相同IntRecordID数据/行(例如:1990-200)。
例如:
SELECT IntRecordID
,SUBSTRING(VARCHARYear,1,(CHARINDEX('-', VARCHARYear)-1)) AS VARCHARYear
FROM TABLE1
UNION
SELECT IntRecordID
,SUBSTRING(VARCHARYear,(CHARINDEX('-', VARCHARYear)+1),len(VARCHARYear)) AS VARCHARYear
FROM TABLE1
最后,我使用 DISTINCT 一次获取重复的 IntRecordID 数据。
希望对您有所帮助:
SELECT DISTINCT IntRecordID
FROM
(
SELECT IntRecordID
,SUBSTRING(VARCHARYear,1,(CHARINDEX('-', VARCHARYear)-1)) AS VARCHARYear
FROM TABLE1
UNION
SELECT IntRecordID
,SUBSTRING(VARCHARYear,(CHARINDEX('-', VARCHARYear)+1),len(VARCHARYear)) AS VARCHARYear
FROM TABLE1
)T
WHERE CONVERT(INT,T.VARCHARYear) BETWEEN 2001 AND 2008