我有一个sql server 2005数据库,其中包含一个数据类型为bit的列.当我查看sql server management studio中的数据时,我看到列值为0或1,当我使用SAS时,我看到0或-1,就像SAS正在否定1值.有人对此有解释吗?谢谢.
解决方法
我估计你必须使用libname oledb从SAS连接到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 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
原文地址:https://www.jb51.cc/mssql/76928.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。