【发布时间】:2015-11-17 12:26:06
【问题描述】:
我有一个名为 @prmclientcode 的变量,它是 nvarchar。此变量的输入可以是单个客户端代码或多个客户端代码,以逗号分隔。例如
@prmclientcode='1'
or
@prmclientcode='1,2,3'.
我将此变量与表中的客户端代码列进行比较。此列的数据类型为 numeric(6,0)。我尝试像下面这样转换变量数据类型
SNCA_CLIENT_CODE IN ('''+convert(numeric(6,0),@prmclientcode+''')) (The query is inside a dynamic sql).
但是当我尝试执行这个时,我得到了错误
将 nvarchar 转换为数字数据类型时出现算术溢出错误。
谁能帮帮我!
谢谢!
【问题讨论】:
-
试试这个:声明 var nvarchar(500) SET var = '1,2,3' exec (N'select * from yortable where column in ('+ @var +')
标签: sql-server sql-server-2012 type-conversion