如何在SQL Server 2012中使用OpenRowset处理空值



我有两个.txt文件。第一个文件(out.txt)具有以下数据:

empno,ename
'7369','SMITH'
'7499','ALLEN'
'7521','WARD'
'7566','JONES'
'7654','MARTIN'
'7698','BLAKE'
'7782','CLARK'

和我的第二个文件(output.txt)的数据如下:

empno,ename,hiredate,comm
'7369','SMITH','1980-12-17',NULL
'7499','ALLEN','1981-02-20','300.00'
'7521','WARD','1981-02-22','500.00'
'7566','JONES','1981-04-02',NULL
'7654','MARTIN','1981-09-28','1400.00'
'7698','BLAKE','1981-05-01',NULL
'7782','CLARK','1981-06-09',NULL

现在,当我执行第一个文件的以下语句时,我得到所需的输出:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=D:Data Migration;','SELECT * FROM out.txt'

但是,当我为第二个文件执行相同的代码时,我会收到一个错误:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=D:Data Migration;','SELECT * FROM Output.txt'

我遇到的错误是:

Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an
error. The provider did not give any information about the error.
Msg 7321, Level 16, State 2, Line 1
An error occurred while preparing the query "SELECT * FROM Output.txt" for execution
against OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)". 

我了解的是,因为我的第二个文件具有一些无空值,这将是错误的原因。那么,在这种情况下,有人可以帮助我处理零吗?

您可以使用isnull选项并替换为所需的值。

相关内容

  • 没有找到相关文章

最新更新