小编Mat*_*ieu的帖子

有什么用!!作为mysql中的运算符?

我试图在查询中使用感叹号作为非运算符

SELECT !0, !!0, !!!0, !1, !!1, !!!1, !2, !!2, !!!2;

| !0 | !!0 | !!!0 | !1 | !!1 | !!!1 | !2 | !!2 | !!!2 |
|----|-----|------|----|-----|------|----|-----|------|
| 1  | 1   | 0    | 0  | 0   | 1    | 0  | 0   | 1    |
Run Code Online (Sandbox Code Playgroud)

结果令人惊讶,但如果我添加括号或空格,它会像我想象的那样工作:

SELECT !0, !(!0), !(!(!0)), !1, !(!1), !(!(!1)), !2, !(!2), !(!(!2));
SELECT !0, ! !0, ! ! !0, !1, ! !1, ! ! !1, !2, ! !2, ! ! !2; …
Run Code Online (Sandbox Code Playgroud)

mysql mariadb operator

5
推荐指数
1
解决办法
1728
查看次数

从 INSERT .. SELECT 中的 SELECT 表返回值

我有一个看起来像这样的表:

| column | def  |
| ------ | ---- |
| id     | uuid |
| status | int  |
| data   | text |
Run Code Online (Sandbox Code Playgroud)

我想编写一个查询来复制一行(仅更改几列)并返回旧的(替换的)数据:

INSERT INTO tmp (status, data)
SELECT source.status, :data
FROM table AS source
WHERE id = :id
RETURNING id, source.data
Run Code Online (Sandbox Code Playgroud)

RETURNING只能访问插入行中的值,是否有其他方法可以做到这一点?

postgresql

1
推荐指数
1
解决办法
8713
查看次数

标签 统计

mariadb ×1

mysql ×1

operator ×1

postgresql ×1