#sql #hive #special-characters #hiveql
Вопрос:
У меня есть таблица, содержащая столбец FILE_PATH, как показано ниже
FILE_PATH
root20102010-011234.zip
root20102010-022345.zip
root20102010-033456.zip
Как извлечь имя файла из столбца FILE_PATH с помощью запроса SELECT?
Ответ №1:
Я использовал приведенный ниже запрос, чтобы получить результат.
select file_path,substr(file_path,-1*(locate('\',reverse(file_path),1)-1)) from TABLE_NAME limit 2
Ответ №2:
вы можете использовать regexp_extract, чтобы получить все после последней обратной косой черты:
select regexp_extract(file_path, '\\([^\\]*)
Четыре обратные косые черты используются для представления одной обратной косой черты, поскольку это специальный символ.
Использование разделения и размера:
select split(file_path, '\\')[size(split(file_path, '\\'))-1] from TABLE_NAME
Использование разделения и обратного:
select reverse(split(reverse(file_path), '\\')[0]) from TABLE_NAME
Четыре обратные косые черты используются для представления одной обратной косой черты, поскольку это специальный символ.
,1) from TABLE_NAME
Использование разделения и размера:
Использование разделения и обратного: