我总是在下面的语句中遇到语法错误。
这是我到目前为止所做的,似乎没有用。
IF(birthday_year='0', birthday_year='0001', birthday_year)
我想要它,以便如果birthday_year
值设置为0,我希望它为0001,否则(如果它不是0,并且是一个不同的值)保持它的值;如果不是0,则不要更改该值。
答案 0 :(得分:0)
语法只是IF(condition, value_if_true, value_if_false)
,所以很简单;
SELECT IF(birthday_year='0', '0001', birthday_year) birthday_year
FROM ...
答案 1 :(得分:0)
如果这是select语句的一部分,您可以使用:
SELECT
CASE
WHEN BIRTHDAY_YEAR='0'
THEN '0001'
ELSE BIRTHDAY_YEAR
END AS COLUMN_NAME
FROM TABLE_NAME
答案 2 :(得分:0)
根据您的表架构,您可能需要使用整数而不是字符串:
SELECT IF(birthday_year=0, 0001, birthday_year) FROM someTable;
答案 3 :(得分:0)
如果您想更新表格,请执行以下操作:
UPDATE table1 SET birthday_year = '0001'
WHERE birthday_year = '1'
您实际上只在存储过程中使用IF
语句。
请参阅:google 更具体地说:http://code.tutsplus.com/articles/an-introduction-to-stored-procedures-in-mysql-5--net-17843
虽然您可以在IF
中使用select
语句,但它确实没有多大意义。您宁愿使用where
或case
子句。