我正在运行查询,并且在使用>时他们不会查看整个数字。和<语句所以在这个例子中结果是不正确的,因为它在第一个八位字节中查看1而不是10。这是查询和结果的摘录。
select distinct v1.name, v1.[user], t1.displayversion from vComputer v1
inner join Inv_AddRemoveProgram t1 on v1.Guid = t1._ResourceGuid
where t1.DisplayName like 'Symantec Enterprise Vault%' and t1.DisplayVersion < '9.0.13509'
结果:
name user displayversion
ATVIEL-PB0225L4 bunger 10.0.17573
ATVIEL-PB0225LH fmotedayen 10.0.17573
ATVIEL-PB036MTR skoeroezsi 10.0.17573
ATVIEL-PB036MTS criesenhuber 10.0.17573
ATVIEL-PC00768L skaehler 10.0.17573
我该如何纠正?
答案 0 :(得分:1)
问题在于您正在比较字符串,然后将按字母顺序完成。你基本上有两个选择:
将版本号拆分为多个部分,以便您可以将每个版本号转换为数字,并按顺序排列3个字段(或者版本中的最大部件数量)
将版本号存储为前导零,以便字母顺序与数字顺序相同。