我在SQL数据库中有一个表,其中一列包含字符" C"或" P"。 我想定义一个新列,其中值为1,如果此字符为" C"否则为零。
亲切的问候, 丹尼尔答案 0 :(得分:3)
如果您想通过投影定义,请尝试
SELECT columnName, IF(columnName = 'C', 1, 0) newValue
FROM tableName
作为Michael Berkowski
建议的替代方案,
SELECT columnName, (columnName = 'C') newValue
FROM tableName
答案 1 :(得分:2)
SELECT
your_fields,
IF(your_column = 'C', 1, 0) AS new_field
FROM your_table
答案 2 :(得分:2)
您希望它成为永久性专栏吗?如果是,请在表中创建一个默认值为0的新列。然后发出更新语句,如下所示:
UPDATE tableName SET newColumn = 1 WHERE oldColumn = 'C';
答案 3 :(得分:2)
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'
答案 4 :(得分:0)
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;
它会起作用。