我在 SQL 数据库中有一个表,其中一列包含字符“C”或“P”。我想定义一个新列,如果此字符为“C”,则值为 1,否则为零。
亲切的问候,丹尼尔
如果您想通过投影定义,请尝试
SELECT columnName, IF(columnName = 'C', 1, 0) newValue
FROM tableName
作为 建议的替代方案Michael Berkowski
,
SELECT columnName, (columnName = 'C') newValue
FROM tableName
SELECT
your_fields,
IF(your_column = 'C', 1, 0) AS new_field
FROM your_table
你想让它成为一个永久的专栏吗?如果是这样,请在表中创建一个默认值为 0 的新列。然后发出更新语句,如下所示:
UPDATE tableName SET newColumn = 1 WHERE oldColumn = 'C';
ALTER MY_TABLE ADD NEW_COLUMN INT
UPDATE MY_TABLE SET NEW_COLUMN=1 WHERE OTHER_COLUMN='C'
UPDATE MY_TABLE SET NEW_COLUMN=0 WHERE OTHER_COLUMN='P'
INSERT
WHEN Col_name1='c' THEN
INTO your_Table (Col_name2)
VALUES (1)
WHEN Col_name1='P' THEN
INTO your_table (Col_name2)
VALUES (0);
SELECT * FROM your_Table;
它会起作用的。