Как определить тип данных в столбце таблицы в базе данных ORACLE (вероятно, blob или clob)? - PullRequest
0 голосов
/ 29 октября 2018

У меня есть таблица с колонкой в ​​формате VARCHAR2(2000 CHAR). Этот столбец содержал строку, содержащую числа, разделенные запятыми (ex: "3;3;780;1230;1;450.."). Сейчас ситуация изменилась. Некоторые строки содержат данные в старом формате, но некоторые содержат следующие данные (ex: "BAAAABAAAAAgAAAAHAAAAAAAAAAAAAAAAQOUw6.."). Может быть, это капля или капля. Как я могу проверить точно? И как я могу прочитать это сейчас? Извините за мой вопрос нуб:)

1 Ответ

0 голосов
/ 31 октября 2018

Плохие новости - ты действительно не можешь. Ваш столбец VARCHAR2, так что это все символьные данные. Похоже, что вы действительно спрашиваете: «Как мне узнать, является ли это значение строкой, разделенной запятой, или двоичным значением, закодированным как строка?» Так что лучшее, что вы можете сделать, это сделать обоснованное предположение. Здесь недостаточно информации, чтобы дать очень хороший ответ, но вы можете попробовать что-то вроде:

  1. Если значение представляет собой числовые символы с разделителями (вы говорите запятые, но в вашем примере есть точки с запятой), то обрабатывайте его так.

    • Но что, если значение столбца равно «123», это одно число или короткое двоичное значение?
  2. Если в значении есть какие-либо буквы, то вы знаете, что это не отдельный список чисел, а затем обрабатывайте его как двоичный. Но не все закодированные двоичные значения будут иметь буквы.

  3. Попробуйте расшифровать его как двоичный файл, если он потерпит неудачу, возможно, это фактически разделенный список. Это, вероятно, не очень хорошо.

...