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

Ascii逐字解码法注入,mysql5.0一下版本手工注入

mysql对数据库字段存储的数据加密

mysql字段注释乱码其他正常

使用 circe 在 Scala 中 JSON 将嵌套字段解码为 Map[String, String]

base64 在执行 WHERE 之前解码 mysql 列