oracle - 如何在 PL/SQL 中将布尔值转换为数字?
问题描述
我有一个布尔值,我正在尝试将其转换为 PL/SQL 中的数字。
PROCEDURE Test(
contract_ IN VARCHAR2,
mch_code_ IN BOOLEAN)
IS
val_ NUMBER;
BEGIN
val_ := mch_code_.to_number();
...some code
END Test;
这是行不通的。
如何在 PL/SQL 中从布尔值转换为数字?
解决方案
你需要一个case
:
create PROCEDURE Test(
contract_ IN VARCHAR2,
mch_code_ IN BOOLEAN)
IS
val_ NUMBER;
BEGIN
val_ := case when mch_code_ then 1 else 0 end;
...some code
END Test;
推荐阅读
- flutter - Flutter如何知道Expansion Tile List的深度?
- customization - 在 Acumatica 中,为什么我的 JournalEntry 扩展代表没有触发?
- java - Spring Batch - 读取字节流,处理,写入 2 个不同的 csv 文件,将它们转换为输入流并将其存储到 ECS,然后写入数据库
- python - 如何查找游戏代码是否有多个使用熊猫的用户?
- javascript - 具有全局事件 queuecomplete 的一种形式的 dropzone 多个
- java - 'contains' 方法不适用于 ArrayList
,还有其他方法吗? - python - 使用 Beautifulsoup 折叠子元素
- asp.net-mvc - 使用模型中未定义的列
- java - 无法保存 SharedPreferences 值,而是我得到: D/InputMethodManager: showSoftInput fail
- python - python中的语法错误:','后缺少空格