首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS SQL Server位列导出为布尔值

问MS SQL Server位列导出为布尔值
EN

Stack Overflow用户
提问于 2018-12-17 07:58:09
回答 2查看 1.2K关注 0票数 4

我正在尝试将数据从SQL Server导出到平面文件。

数据包括一个位列0/1,我需要它,但它被导出为布尔值TRUE/FALSE,这导致ETL批量插入失败。

​

​

我尝试将数据映射更改为单字节整数、浮点数、数字、字符串、文本,希望得到一个简单的0/1,但都不起作用。

任何关于如何解决这个问题的建议都是值得的(除了替换结果文件中的文本)。

EN

回答 2

Stack Overflow用户

发布于 2018-12-17 11:40:21

问题是,SQL Server的数据类型是bit。它没有布尔值,而SSIS使用.Net数据类型,而不是SQL数据类型。它支持布尔值,而不是位。虽然它有内置的转换,但要解决这样的问题。因此,在我看来,您需要使用派生列来解决这个问题。

票数 0
EN

Stack Overflow用户

发布于 2020-08-12 12:50:45

在选择中添加IIF以将Boolean转换为0/1以导出:

代码语言:javascript
复制
SELECT Name, Code
    ,IIF(EuroZone = 1, 1, 0) AS EuroZone
    ,IIF(Visible= 1, 1, 0) AS Visible
FROM your_table
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53807552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档