这是我的查询,用于在表格中找到单个记录:
SELECT TOP 1 Tests.Release, Tests.Result FROM Tests WHERE
Tests.TestCaseID = 104209
ORDER BY Tests.Release
Tests.Release
是一个包含字母数字值的列,使用数值比较运算符无法比较。我想根据一个已知的发布字符串以及在该记录上方排序的内容过滤掉我的查询中的记录。如果该版本是一个字符串,我会写WHERE Tests.Release > 10
。但同样,我的发布是复杂的字符串,只能进行排序。
按要求更新:
Release
-------
A1B
A2B
A3B---^
A4B
A5B
已知版本为A3B
。所以我需要在A2B
和A1B
答案 0 :(得分:4)
您仍然可以在字符串上使用比较运算符。它们遵循此处所述的常规访问文本排序规则:http://support.microsoft.com/kb/129719
SELECT Tests.Release, Tests.Result
FROM Tests
WHERE Tests.TestCaseID = 104209 AND Tests.Release <='A1B2C2'
ORDER BY Tests.Release
答案 1 :(得分:0)
如果您的Tests.Release不会在没有复杂操作的情况下落入可排序的历史列表中,我会在每个版本中添加一个时间戳列和日期,并按此排序。