最近,当我尝试在 SQL 服务器中执行视图时,出现以下错误:
Msg 245, Level 16, State 1, Line 2
Conversion failed when converting the nvarchar value '<14633>' to data type int.
当我进入 SQL Management Studio 并执行以下操作时,我甚至会得到此信息:
USE [directory-plus]
GO
SELECT * FROM all_staff_data_contact_points
我不知道我做了什么或者如何解决这个问题
答案1
您的视图正在尝试将字符串(特别是 nvarchar)值转换为 int,但由于前导和'<14633>'
尾随字符,它无法执行此操作。<
>
您需要查看视图的源代码以及它正在获取的数据,并找出尝试进行转换的位置,并通过将值处理为“看起来”像 int 来更正它(即'14633'
- 如果您的字段被称为NumberString
,您可以执行REPLACE(REPLACE(NumberString,'<',''),'>','')
),或者停止尝试进行转换。
如果您想要更完整的诊断,请发布您的视图的定义(最好是从它从中提取数据的表中提取一些示例记录)。