我正在转换SQL Server中的一些数据:

INSERT INTO MYTABLE (AllowEdit)
(Select PreventEdit from SOURCETABLE)

所以我需要从源表中反转位值.我希望NOT个能起作用,因为我在代码中就是这样做的,但事实并非如此.我能想到的最优雅的方式是:

INSERT INTO MYTABLE (AllowEdit)
(Select ABS(PreventEdit -1) from SOURCETABLE)

有没有更标准的方法?

推荐答案

我自己没有测试过,但你应该可以稍微使用一下bitwise negation operator~:

INSERT INTO MYTABLE (AllowEdit) 
(SELECT ~PreventEdit FROM SourceTable)

Sql相关问答推荐

从snowflake中的表格中删除一个完全重复的副本

SQL Google Sheets:UNIQUE/DISTINCT和编码查询函数

LEFT JOIN不显示计数0我期望的方式

如果元素包含通过SQL指定的字符串,则过滤掉数组元素

雅典娜嵌套Json提取液

不同表达方式时的大小写

了解放置时的连接

基于多参数的SQL Server条件过滤

根据最大值为字母数字大小写分配数值

从结果SQL查询中排除空值

仅在日期相隔时递增(Oracle SQL)

Snowflake 中的分层数据

当 ansible 变量未定义或为空时,跳过 sql.j2 模板中的 DELETE FROM 查询

Spark / Hive:如何获取列中正值的百分比?

将varchar (7)列转换为datetime

删除重复记录但保留最新的SQL查询

批量更改WooCommerce中所有产品的税收状态

MIN MAX 值与条件绑定

过滤具有一对多关系的两个表之间的数据

snowfalke 会在 Select 运行时锁定表吗?