1

我有一个数据集(8.5 行),其中所有列中的所有值都必须用引号(“”)括起来。我发现有一个问题 - 一些记录在某些列中保存了最后一个引号符号缺失的值。现在我需要尝试对问题进行概述 - 哪些列有此错误的示例(这是由于解决方案中的上游截断)。

从下面插入的示例虚拟数据中:

我该如何编写一个查询,由于这些列的第 2 行和第 3 行中缺少结束引号而输出“姓氏”和“年龄”列?要清楚 - 我如何识别具有零星截断值的列?

缺少引号的示例数据

谢谢,

knn

4

1 回答 1

1

您需要检查字符串中的最后一个字符。它是使用 substring 函数完成的,传递参数 -1 表示最后一个字符。然后检查它是否与双引号符号不同。

SELECT * FROM YourTable
WHERE 
substr("Last Name", -1) <> '"' OR substr(Age,-1) <> '"'

你可以在这里玩弄它http://sqlfiddle.com/#!4/10a77e/1

于 2020-04-16T12:10:08.857 回答