sql-server-2005 – SAS读取sql server 2005中的位数据类型
发布时间:2020-12-12 07:08:25 所属栏目:MsSql教程 来源:网络整理
导读:我有一个sql server 2005数据库,其中包含一个数据类型为bit的列.当我查看sql server management studio中的数据时,我看到列值为0或1,当我使用SAS时,我看到0或-1,就像SAS正在否定1值.有人对此有解释吗?谢谢. 解决方法 我估计你必须使用libname oledb从SAS连接
我有一个sql server 2005数据库,其中包含一个数据类型为bit的列.当我查看sql server management studio中的数据时,我看到列值为0或1,当我使用SAS时,我看到0或-1,就像SAS正在否定1值.有人对此有解释吗?谢谢.
解决方法我估计你必须使用libname oledb从SAS连接到SQL Server.我可以在这里复制你的问题: –SQL Server代码生成虚拟数据 create table dbo.tbl ( tblId int identity(1,1) not null constraint pk_tbl_tblId primary key,bool bit not null,) go insert into dbo.tbl(bool) values(0) insert into dbo.tbl(bool) values(1) 使用OLEDB的SAS代码 libname imm oledb provider=sqloledb properties=( "Integrated Security"=SSPI "Persist Security Info"=False "Initial Catalog"=test "Data Source"=localhost ); proc print data=imm.tbl; run; 打印出来的是: – Obs tblId bool 1 1 0 2 2 -1 使用PROC SQL的SAS代码 似乎使用PROC SQL应该解决您的问题. proc sql noprint; connect to sqlservr ( server='localhost' database='test' 'Integrated Security'='SSPI' 'Persist Security Info'='False' ); create table test as select * from connection to sqlservr ( select * from dbo.tbl ); disconnect from sqlservr; quit; proc print data=test; run; 打印出来的是: – Obs tblId bool 1 1 0 2 2 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |