Mysql中的解码字段
Posted
技术标签:
【中文标题】Mysql中的解码字段【英文标题】:Decoding fields in Mysql 【发布时间】:2013-09-08 04:11:33 【问题描述】:我想从我的 mysql 数据字段中获取净额。我试图解码如下字段..但我得到了错误:
“查找错误 - MySQL 数据库错误:调用本机函数 'decode' 中的参数计数不正确”
有人可以帮忙吗?
我使用过的查询:
select decode (txn_type ,'Exense',-txn_amount,txn_amount)as net_amount where id > 0
【问题讨论】:
MySQL equivalent of DECODE function in Oracle的可能重复 【参考方案1】:MySQLDECODE()
函数用于解密,其签名为:
DECODE(crypt_str,pass_str)
请参阅documentation。如果您想要与 Oracle 的 DECODE()
函数等效的东西,请参阅:
MySQL equivalent of DECODE function in Oracle
您的查询可以重写为:
SELECT IF(txn_type = 'Expense', -txn_amount, txn_amount) AS net_amount
WHERE id > 0
或:
SELECT CASE txn_type
WHEN 'Expense' THEN -txn_amount
ELSE txn_amount
END AS net_amount
【讨论】:
对不起,我是 mysql 新手。我们正在使用 Oracle。在 oracle 中,我们使用“ select sum( decode (txn_type ,'Expense',-txn_amount,txn_amount)as net_amount where id > 0 ”来获取结果。如果可能,请指定我必须在 mysql 中写什么才能得到结果我在 Oracle 中得到的。 我添加了您查询的 MySQL 版本。以上是关于Mysql中的解码字段的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Cobol 响应中的签名显示字段解码为 Java 中的 BigDecimal