2

我在 SQL 数据库中有一个表,其中一列包含字符“C”或“P”。我想定义一个新列,如果此字符为“C”,则值为 1,否则为零。

亲切的问候,丹尼尔

4

5 回答 5

3

如果您想通过投影定义,请尝试

SELECT columnName, IF(columnName = 'C', 1, 0) newValue
FROM tableName

作为 建议的替代方案Michael Berkowski

SELECT columnName, (columnName = 'C') newValue
FROM tableName
于 2012-12-18T14:00:50.860 回答
2
SELECT
    your_fields,
    IF(your_column = 'C', 1, 0) AS new_field
FROM your_table
于 2012-12-18T14:01:53.207 回答
2

你想让它成为一个永久的专栏吗?如果是这样,请在表中创建一个默认值为 0 的新列。然后发出更新语句,如下所示:

UPDATE tableName SET newColumn = 1 WHERE oldColumn = 'C';
于 2012-12-18T14:02:06.500 回答
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'
于 2012-12-18T14:07:47.803 回答
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;

它会起作用的。

于 2012-12-18T14:08:58.133 回答