SQL CE select语句中的反向布尔(位)值

SQL CE select语句中的反向布尔(位)值,sql,sql-server-ce,Sql,Sql Server Ce,我正试图编写一个查询,从SQLCE数据库获取表信息,准备用c语言编写,稍后再导出为XML。显然,我需要将其中一列命名为'IDENT',并使用一个布尔值来表示它是否为标识列 为此,我检查AUTOINC_SEED列是否为null,如下所示: 从information_schema.columns中选择isnullAUTOINC_SEED as IDENT 但是,对于非标识列,返回TRUE;对于标识列,返回FALSE!有没有办法在select语句中反转布尔值 编辑:我知道我可以用case语句来解决这个

我正试图编写一个查询,从SQLCE数据库获取表信息,准备用c语言编写,稍后再导出为XML。显然,我需要将其中一列命名为'IDENT',并使用一个布尔值来表示它是否为标识列

为此,我检查AUTOINC_SEED列是否为null,如下所示:

从information_schema.columns中选择isnullAUTOINC_SEED as IDENT

但是,对于非标识列,返回TRUE;对于标识列,返回FALSE!有没有办法在select语句中反转布尔值


编辑:我知道我可以用case语句来解决这个特殊的问题,但这让我对在SQL中反转布尔位值感到好奇。

SQL Server中的克拉是运算符

由于1^1等于0,且1^0等于1,您可以执行以下操作:

SELECT (1 ^ [YourBitColumn]) as InverseBit
我手头也没有SQL CE,但由于SQL CE似乎有这个功能,我相信下面的查询应该可以做到这一点:

select (1 ^ AUTOINC_SEED) as IDENT from information_schema.columns

您是否尝试过我的SQL Server Compact scripting API,可以为您获取所有相关架构信息吗?@ErikEJ请给我一个指向它的链接好吗?很抱歉,您可以在找到它,只是刚刚有机会尝试一下。是的,克拉有效-尽管我必须用0替换1,所以选择0^AUTOINC_种子作为标识。这并不是说我需要帮助,而是因为我很好奇。毕竟,这可以通过一个案例陈述来解决——但谢谢你回答这个问题并满足我的好奇心!看起来蒂尔达真的做到了~See