2017-03-15 5 views

答えて

1

は、2つのオプション

hive> select regexp_extract('hello:ok:old:yes:age:','([^:]+):$',1); 
OK 
age 

ある
hive> select split('hello:ok:old:yes:age:',':')[4]; 
OK 
age 
+0

どうでしょうregexp_extract変更、このデータは、「ページ」という名前の列にあったと私は「持っているすべての行のために必要な場合でなければなりません。この

をお試しください:旧:はい: ':yes:'の後と次の文字列の前に文字列を返します。 PAGES(テーブル名) hello:ok:old:yes:age:test:jack hello:no:old:yes:hour:black :nancy こんにちは:細かい:古い:はい:分:白:jason 「old:yes:」が私の出発点であり、regexp_extractがコロンの前の次のテキストを返すようにしたいと思います。上記の例では、次の結果が必要です: 年齢 時間 分 – Sarah

+0

- ありがとうございます。 FYI - ここに新しい質問へのリンクがあります。もしあなたが助けてくれるなら、 (http://stackoverflow.com/questions/42863025/extract-data-from-a-string-sql) – Sarah

+0

既にあります:-) –

-1

あなたはまたのために次のCHARINDEXまで、その位置から開始PATINDEX使用することができます:ここでは

-1

それが仕事

select SUBSTRING('hello:ok:old:yes:age:', CHARINDEX('old:yes','hello:ok:old:yes:age:')+8, LEN('hello:ok:old:yes:age:') - CHARINDEX('old:yes','hello:ok:old:yes:age:')-8); 
関連する問題