MySQL IF语句,IF SET,ELSE什么都不做?
我总是在下面的语句中遇到语法错误 这就是我到目前为止所做的,但似乎不起作用MySQL IF语句,IF SET,ELSE什么都不做?,mysql,sql,if-statement,Mysql,Sql,If Statement,我总是在下面的语句中遇到语法错误 这就是我到目前为止所做的,但似乎不起作用 IF(birthday_year='0', birthday_year='0001', birthday_year) 我希望这样,如果生日年值设置为0,我希望它为0001,否则如果它不是0,并且是另一个值,请保留该值;如果值不是0,则不要更改它。语法是简单的IFcondition、value\u if\u true、value\u if\u false,非常简单 SELECT IF(birthday_year='0',
IF(birthday_year='0', birthday_year='0001', birthday_year)
我希望这样,如果生日年值设置为0,我希望它为0001,否则如果它不是0,并且是另一个值,请保留该值;如果值不是0,则不要更改它。语法是简单的IFcondition、value\u if\u true、value\u if\u false,非常简单
SELECT IF(birthday_year='0', '0001', birthday_year) birthday_year
FROM ...
如果这是select语句的一部分,则可以使用:
SELECT
CASE
WHEN BIRTHDAY_YEAR='0'
THEN '0001'
ELSE BIRTHDAY_YEAR
END AS COLUMN_NAME
FROM TABLE_NAME
根据您的表架构,您可能需要使用整数而不是字符串:
SELECT IF(birthday_year=0, 0001, birthday_year) FROM someTable;
如果要更新表,请执行以下操作:
UPDATE table1 SET birthday_year = '0001'
WHERE birthday_year = '1'
实际上,您只在存储过程中使用IF语句
见:
更具体地说:
虽然可以在select中使用IF语句,但它实际上没有多大意义。您更愿意使用where或case子句 这是select语句的一部分吗?是的,抱歉没有提到。它是SELECT语句的一部分。谢谢请不要因为提出问题而道歉。也不要加上谢谢。这些东西被认为是堆栈溢出上的噪声。