oracle - PLSQL 检查变量是否仅包含 Char(10)s 而没有其他值
问题描述
您好我正在尝试比较两个 VARCHAR2 变量 - new_value
, old_value
. 我Replace()
用来检查是否存在共同值并将它们从new_value
. 问题出现在:
old value = Test 1
Test 2
new_value = Test 1
Test 2
Char(10)
在这种情况下,Replace()
将删除除新行之外的所有值。我需要检查变量中是否只有换行符和/或空格。
解决方案
您可以使用该ASCII
函数获取ASCII
替换后剩余数据的值,然后轻松检查它是空格还是换行符,如下所示:
SQL> SELECT ASCII(REPLACE(N,O)) FROM
2 (SELECT
3 'Test 1
4 Test 2' AS O,
5 'Test 1
6 Test 2'
7 || CHR(10) AS N
8 FROM
9 DUAL);
ASCII(REPLACE(N,O))
-------------------
10 -- it means, it is new line
SQL>
推荐阅读
- autodesk-forge - 如何在伪造查看器中获得模型的正确坐标
- c - 通过仅发送更改的值来减少 Firebase 延迟?
- python - 提高梯度下降的速度
- elasticsearch - 在具有特殊字符的自定义关键字字段上使用术语查询时出现意外结果
- python - 使用 Textblob 从文本中删除所有名词短语
- stackexchange-api - 如何通过 1 个调用从不同对象获取信息?
- javascript - 如何根据我的变量的范围选择通过 Ajax 更新价格?
- apache-spark - 是否可以使用 YARN 容量调度程序在 Spark 上运行 Hive?
- java - JTable 列的标题不会显示
- c# - Linq with EF core 2.2 Condition with where Clause FK and PK