簡體   English   中英

從文件中提取文件擴展名,不包括查詢參數 SQL

[英]Extracting file extensions from file excluding query parameters SQL

有沒有辦法使用 split_part 從 SQL 查詢中僅獲取不包括查詢參數的文件擴展名? IE。 www.example.com?hffhqowhftest.jpg?34rfqeyfhhf

返回: com jpg

不綁定到 com 或 jpg 但一般?

非常感謝

有很多方法可以實現這一點(例如使用 INSTR 和 SUBSTR 函數的組合),但最簡潔的方法可能是使用正則表達式,如下所示:

(

  1. 假設:字符串總是有一個以“?”開頭的查詢參數這是該字符在字符串中唯一出現的地方

  2. 警告:我目前無法訪問 Impala,因此您可能需要調整正則表達式以使其按照您的需要精確工作

)

  1. 反轉字符串(REVERSE 函數) - 使您想要的 substring 位於“?”之間和下一個'.'。 如果您不反轉字符串,則更難識別哪個'。' 在您正在處理的字符串中

  2. 提取“?”之間的 substring 和 '。' 但不包括這兩個字符,例如

    select regexp_extract(reverse('www.example.com?hffhqowhf'),'?([^.]+)',1);

  3. 再次反轉 output 以獲得所需的結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM