这似乎是一个简单的问题,但我一直没能找到答案。我基本上是试图做到这一点:SQL SELECT若(a =“”),然后改变B值
SELECT * FROM table1
IF(columnA > 0) BEGIN
columnB = 'Greater than 0'
END
我不希望值,表中的改变,我只是希望它在发生变化。有什么建议么?
这似乎是一个简单的问题,但我一直没能找到答案。我基本上是试图做到这一点:SQL SELECT若(a =“”),然后改变B值
SELECT * FROM table1
IF(columnA > 0) BEGIN
columnB = 'Greater than 0'
END
我不希望值,表中的改变,我只是希望它在发生变化。有什么建议么?
SELECT ColumnA
, case when ColumnA > 0 then 'Greater than 0' else ColumnB END AS ColumnB
FROM table1;
惯于这只是改变columnA从0到'大于0'而不是columnB? – 2013-04-22 19:13:08
泰勒,它只是* *检查作为columnA的case语句的条件。第二列是“大于0”或ColumnB的表值。尝试一下。 – 2013-04-22 19:16:21
完美!谢谢! – 2013-04-22 19:22:24
这应该工作:
SELECT columnA, IIF(columnA > 0, 'Greater than 0', columnB)
FROM table1;
我不认为“IF”是一个函数,需要3个参数。 – 2013-04-22 19:45:21
我只是告知,有一个“IIF”功能。我会认为这就是你的意思,然后把自己打在脑袋里。请编辑,以便我可以upvote! – 2013-04-22 19:54:41
@NickVaccaro - 参见该文档(这里)(http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html#function_if) – 2013-04-22 19:55:06
使用[下](http://msdn.microsoft.com/en-gb/library/ms181765.aspx)表达 – Aprillion 2013-04-22 19:10:19