vb6 - 用于sql server的NUMERIC和microsoft ole db提供程序

时间:2011-09-27 19:32:33

标签: sql-server vb6 numeric

首先抱歉英语不好。

我想进行以下查询:“从tblLote中选择前1个NumeroLote,其中convert(numeric(12),Documento)= 28405”

“Documento”的数据存储在varchar字段中,有时记录为“002008”或“2008”......这就是我尝试使用数字的原因。

它适用于sql server 2008但是当我使用Provider =“sqloledb”和Microsoft ActiveX Data Objects 2.0库从vb6使用它时,我收到以下错误:“numeric不是可识别的函数名.Microsoft Ole Db提供程序sql server“。

你知道一些替代方案,我只能想到使用“喜欢”。

编辑:Documento可能是varchar(12)

答案:bigint

非常感谢您的时间!

1 个答案:

答案 0 :(得分:3)

  

“Documento”的数据存储在varchar字段中,有时记录为“002008”或“2008”......这就是我尝试使用数字的原因。

数字总是整数吗?如果是这样,请尝试使用此代码:

CONVERT(INT, Documento)

编辑:使用bigint来避免溢出问题:

CONVERT(BIGINT, Documento)