help-meは、以下の例のような文字列の最初の "cost"の値だけを取得するSQLコマンドを設定できますか?sql Postgresqlで文字列変数を取得する方法
次の2つの結果は、SQLクエリ実行プランが格納されているテーブルから返されます。私はPostgresを使用します。コストは常に最初から来ますが、必ずしも同じ位置にあるとは限りませんので、部分文字列(...)を単純に行うことはできません。私はコスト値だけを抽出できるようにするたびに、最初と最後のポジションを見つけるべきだと思います。誰かが私を助けることができる場合、次の例の期待される結果は次のとおりです。
select (....)
-----------------
cost=399301 (only this)
----------------------サンプルソース--- ---------------
Sort (cost=399301.55..399301.57 rows=6 width=36)
Sort Key: l_returnflag, l_linestatus
-> HashAggregate (cost=399301.21..399301.48 rows=6 width=36)
-> Seq Scan on h_lineitem (cost=0.00..250095.98 rows=5968209 width=36)
Filter: (l_shipdate <= (to_date('1998/12/01'::text, 'YYYY/MM/DD'::text) - '10 days'::interval day))
--------------------第2サンプル------ --------------------------
Aggregate (cost=7922058.70..7922058.71 rows=1 width=16)"
-> Hash Join (cost=1899763.92..7922058.69 rows=1 width=16)"
Hash Cond: (h_lineitem.l_partkey = h_part.p_partkey)"
Join Filter: (((h_part.p_brand = 'Brand#13'::bpchar) AND (h_part.p_container = ANY ('{"SM CASE","SM BOX","SM PACK","SM PKG"}'::bpchar[])) AND (h_lineitem.l_quantity >= 4::double precision) AND (h_lineitem.l_quantity <= 14::double precision) AND (h_ (...)"
-> Seq Scan on h_lineitem (cost=0.00..235156.84 rows=211094 width=32)"
Filter: ((l_shipmode = ANY ('{AIR,"AIR REG"}'::bpchar[])) AND (l_shipinstruct = 'DELIVER IN PERSON'::bpchar))"
-> Hash (cost=1183158.46..1183158.46 rows=35278997 width=33)
-> Seq Scan on h_part (cost=0.00..1183158.46 rows=35278997 width=33) Filter: (p_size >= 1)"
よろしく
あなたの書式設定が私に腹を立てているからと言って、私は閉じようとしています。強くお試しください。これはあなたの最初のロデオではありません。 –
Evanは、ここでの最大の目標は、プログラミングの問題に関する技術協力であり、カラフルで整形されたテキストを持たないことです。これは注意を呼びます。これは二次質問です。このフォーラムの大きな目標を理解していただければ幸いです。お待ちしています – Neto
あなただけのことではありません。私はあなたを知りません。私はコミュニティのために良い質問に効率的に答えるためにここにいます。私がこの質問に答えることは、あなたが書式設定とプレゼンテーションを完全に駄目にしていない場合にのみ、他の人に助けになります。だから社会病にならないでください。あなたの質問をより良く伝えることができれば、それをしてください。これは、同じ問題を抱えている人、将来の人には役に立ちます。 –