我有一个表,其中的列格式为VARCHAR2(2000 CHAR)
。该列包含一行,其中用逗号分隔的数字(ex: "3;3;780;1230;1;450..")
。现在情况已经改变。有些行包含旧格式的数据,但有些行包含以下数据(ex: "BAAAABAAAAAgAAAAHAAAAAAAAAAAAAAAAQOUw6..")
。也许是斑点或团块。我如何准确检查?现在我该如何阅读?对不起我的菜鸟问题:)
答案 0 :(得分:0)
坏消息是你真的做不到。您的列是VARCHAR2
,因此它是所有字符数据。似乎您真正要问的是“如何判断此值是逗号分隔的字符串还是编码为字符串的二进制值?”因此,您所能做的最好是做出有根据的猜测。这里的信息不足,无法给出很好的答案,但是您可以尝试以下方法:
如果该值是带有分隔符的数字字符(您说逗号,但您的示例中包含分号),则应将其视为此类。
如果值中包含任何字母,您知道它不是数字的单独列表,请将其视为二进制。但并非所有编码的二进制值都具有字母。
尝试将其解码为二进制,如果失败,则可能实际上是分开的列表。这可能不是一个好东西。