prestoの便利関数 url_function
prestoにはURLを分解する関数が付いています、使うと正規表現で分割してたのがアホらしくなるほど便利なんでめもっときます
select
url_extract_fragment('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_host('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_parameter('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test', 'flag'),
url_extract_path('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_port('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_protocol('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_query('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test')
;
url_extract_fragment([url])
与えられたURLからfragment部分を取得します ↑のSQLからは以下が取得されます
test
url_extract_host([url])
与えられたURLからhost部分を取得します ↑のSQLからは以下が取得されます
www.hoge.com
url_extract_parameter([url], [parameter_name])
与えられたURLから指定したパラメーターを取得します ↑のSQLからは以下が取得されます
1
url_extract_path([url])
与えられたURLからpath部分を取得します ↑のSQLからは以下が取得されます
/fuga/var/index.php
url_extract_port([url])
与えられたURLからport部分を取得します ↑のSQLからは以下が取得されます
8080
url_extract_protocol([url])
与えられたURLからprotocol部分を取得します ↑のSQLからは以下が取得されます
http
url_extract_query([url])
与えられたURLからprotocol部分を取得します ↑のSQLからは以下が取得されます
flag=1&flag2=2