我有下面的数据集,我想找到有前导空格或尾随空格的列。我如何编写查询,它会显示有空格的确切值?data
:
WITH data AS (
SELECT '1' id, 'Jim' fname, 'Jam' lname FROM dual UNION
SELECT '2' id, 'Jon' fname, 'Doe ' lname FROM dual UNION
SELECT '3' id, 'Sam' fname, 'Lee' lname FROM dual
)
SELECT *
FROM data
WHERE fname LIKE ' %' OR fname LIKE '% ' OR lname LIKE ' %' OR lname LIKE '% ';
字符串
上面的查询给出了以下输出,这对了解具有该值的列没有帮助。output
:
| ID | FNAME | LNAME |
|----|-------|-------|
| 2 | Jon | Doe |
型
我想要一个查询,它会给我以下输出:
| ID | FIELD_NAME | ISSUE_DESCRIPTION | FIELD_VALUES |
|----|------------|-------------------|--------------|
| 2 | LNAME | Trailing Space | Doe |
型
P.S.:在实际的表中,我需要对35+列执行此检查。
1条答案
按热度按时间cigdeys31#
取消透视,然后使用
SUBSTR
(或LIKE
)进行过滤,并使用CASE
表达式生成问题描述:字符串
其输出:
| ID|栏目名称|问题描述|值|
| --|--|--|--|
| 2 |LNAME|尾随空格|Doe|
fiddle