我有一个简单的 SQL 语句(在从 2000 升级到 2008 R2 的 SQL Server 上执行):
SELECT TOP (1)
DocNox = CONVERT(integer, SUBSTRING(DocNo, 2, LEN(DocNo)-1)
FROM Tbl1
WHERE
Fld1 = 19
AND Fld2 = 1
AND Fld3 = 1
AND DocNo NOT LIKE '%-%'
ORDER BY
CONVERT(integer, SUBSTRING(DocNo, 2, LEN(DocNo)-1) DESC;
Run Code Online (Sandbox Code Playgroud)
示例数据(Serial 是一IDENTITY
列)
Serial DocNo Fld1 Fld2 Fld3
211 A1 19 1 1
212 A2 19 1 1
213 A003 19 1 1
214 X1-C1-1 20 1 1
Run Code Online (Sandbox Code Playgroud)
执行查询会产生以下错误消息:
Error converting nvarchar value …