小编Ahm*_*yed的帖子

奇怪的 SQL 语句行为

我有一个简单的 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 …

sql-server sql-server-2008-r2

3
推荐指数
1
解决办法
209
查看次数

标签 统计

sql-server ×1

sql-server-2008-r2 ×1