Cha*_*128 4 sql sql-server case
我有一个表中的列,我想将当前值与另一个列交换为特定条目.当我没有把它留空时,我得到一个无空约束.
UPDATE bet.betEntry
SET direction=
CASE
WHEN (direction = '599065F7-96A9-4DF5-8577-2203BE9AA2E0') THEN 'ABD92DB9-58D8-4C60-8A34-4C00EBBAB4A5'
WHEN (direction = 'ABD92DB9-58D8-4C60-8A34-4C00EBBAB4A5') THEN '599065F7-96A9-4DF5-8577-2203BE9AA2E0'
END
FROM bet.betEntry be JOIN bet.fixture f ON be.fixtureId = f.fixtureId
WHERE f.fixtureDate > '2019-01-12 13:29:00.000'
Run Code Online (Sandbox Code Playgroud)
添加一个where条款:
UPDATE bet.betEntry
SET direction = (CASE WHEN direction = '599065F7-96A9-4DF5-8577-2203BE9AA2E0'
THEN 'ABD92DB9-58D8-4C60-8A34-4C00EBBAB4A5'
WHEN direction = 'ABD92DB9-58D8-4C60-8A34-4C00EBBAB4A5'
THEN '599065F7-96A9-4DF5-8577-2203BE9AA2E0'
END)
FROM bet.betEntry be JOIN
bet.fixture f
ON be.fixtureId = f.fixtureId
WHERE f.fixtureDate > '2019-01-12 13:29:00.000' AND
direction IN ('599065F7-96A9-4DF5-8577-2203BE9AA2E0', '599065F7-96A9-4DF5-8577-2203BE9AA2E0');
Run Code Online (Sandbox Code Playgroud)
你也可以解决这个问题ELSE direction.但是,这不是很好,因为它尝试更新不需要更新的行.
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |