我想从mysql获取数据,其中一个字段是在mysql中计算的。
例子:我有一个X,Y和Z字段。我想要创建一个名为'A‘的新字段,其中'A’是(X + Y) / Z的计算值。
问题是Z != 0,所以如果Z为0,则Z将改为1,以避免无限数(1/0 = ??)。
问题是,我能把它计算成mysql中的一个新字段吗??
我想出来的是
SELECT X, Y, Z, ((X+Y)/Z) as A FROM table但是,我仍然不能过滤Z,如果是Z==0,那么Z=1。我可以这样做吗?
发布于 2014-12-04 05:33:05
用户MySQL案例时语法:
SELECT (CASE WHEN Z != 0 THEN ((X+Y)/Z)
ELSE X) AS A
FROM table发布于 2014-12-04 05:32:14
利用case
SELECT X, Y, Z, ((X+Y)/ CASE WHEN Z != 0 THEN Z ELSE 1 END) as A FROM table发布于 2014-12-04 05:32:31
在这里使用Decode语句会有所帮助
select x,y, DECODE (z,0,1,z) denom,((X+Y)/denom) from table
Syntax DECODE (what,(when,then),default)如果这给出正确的结果,请告诉我
https://stackoverflow.com/questions/27286922
复制相似问题