3

我将查询传递给运行该查询并返回结果的内部应用程序,连接到 CSV 文件,我正在连接 Provider=Microsoft.Jet.OLEDB.4.0

我想将字符串加入一列,但出现错误。

这可以做到吗,有人知道怎么做吗?

我在做什么的例子:

select 
 PurchaseOrderNo, 
 PurchaseOrderDate, 
 Description, 
 Quantity,
 ContractName + 'delimiter' + ContractNo as LinePrimaryKeys
from [POImport baseline.csv]

错误是: - 错误 - 提供程序无法确定 Double 值。例如,行刚刚创建,Double 列的默认值不可用,消费者尚未设置新的 Double 值。

从其他阅读来看,我加入的两个值似乎都没有被识别为字符串。

例如,将 PurchaseOrderNo + 'delimiter' + ContractNo 作为 LinePrimaryKeys 替换为 PurchaseOrderNo + 'delimiter' + PurchaseOrderNo 作为 LinePrimaryKeys

停止错误。那么现在我如何投射到字符串?

这行不通。ContractName + 'cn' + CAST(ContractName as nvarchar(50)) as LinePrimaryKeys

4

1 回答 1

4

您必须使用&而不是+

&执行字符串连接,+执行(数字)加法。使用&自动将所有操作数转换为字符串。

select 
 PurchaseOrderNo, 
 PurchaseOrderDate, 
 Description, 
 Quantity,
 PurchaseOrderNo & 'delimiter' & ContractNo as LinePrimaryKeys
from [POImport baseline.csv]
于 2009-05-19T06:34:53.353 回答