その位置からまた1つ以上の部分文字列とマッチした際は、正規表現は最短マッチを行わない(欲張り型)か最短マッチを行う(非欲張り型)かによって、最長一致もしくは最短一致の文字列のどちらかに一致します, ほとんどのアトムおよび全ての式は欲張り属性を持ちません(これらは変動する量のテキストにまったく一致しないからです)。, {m}もしくは{m}?といった固定繰り返し数の量指定子を持つ量指定付きアトムは、アトム自身と同一の欲張りさを持ちます(まったく持たない可能性もあります)。, 他の通常の量指定子({m,n}、mとnが等しい場合も含みます)を持つ量指定付きアトムは欲張り型です(最長マッチを使用します)。, 他の非欲張り型量指定子({m,n}?、mとnが等しい場合も含みます)を持つ量指定付きアトムは非欲張り型です(最短マッチを使用します)。, 最上位レベルの|演算子を持たないREであるブランチは、最初の欲張り属性を持つ量指定付きアトムと同一の欲張り属性を持ちます。, 上の規則は、個々の量指定付きアトムだけではなく、量指定付きアトムを複数含むブランチやRE全体の欲張り属性に関連します。 例えばa-c-eといった、終端を共有する2つの範囲は不正です。 SELECT REPLACE(column,'対象文字列','置換後') FROM test; 例) ※columnには「test」が入っている想定 SELECT REPLACE(column,'te','ea') FROM test; #結果 = east; 改行コードが変換されないときの確認方法. 最後に、1桁の後方参照を使用することができ、また、BREにおいては、\<と\>はそれぞれ[[:<:]]と[[:>:]]と同義です。, 大文字小文字を区別する一致(演算子で規定される大文字小文字の区別よりこの指定が優先されます)。. 単語文字とは(ctypeで定義されている)1つのalnum文字またはアンダースコアです。 パターンマッチ. 2番目の例では、Y*?が非欲張り型のため、REは全体として非欲張り型です。 regexp_matches(string, pattern [, flags ])の構文になります。 従って、文字列内の任意位置における並びと一致させたい場合には、パーセント記号を先頭と末尾に付ける必要があります。, 他の文字の一致に使用するのではなく、アンダースコアやパーセント記号そのものを一致させたい場合には、patternの中のそれぞれのアンダースコアとパーセント記号の前にエスケープ文字を付けなければなりません。 ]]*cはchchccという文字の最初の5文字に一致します。, 注意: 今のところ、PostgreSQLは複数文字照合要素をサポートしません。 例えば、[[=o=]]、[[=^=]]および[o^]が全て同意語であれば、oと^は同値クラスのメンバです。 副式は開括弧の順番で番号付けされます。

これは、標準SQLの正規表現定義を使用してパターンを解釈するという点以外は、LIKEに類似しています。 量指定子から式や副式を始めることはできず、また、^や|の直後に付けることもできません。, 先行検索制約には後方参照(項9.7.3.3を参照)を含めることはできません。また、その中の括弧は全て取り込むものではないとみなされます。, ブラケット式とは、[]内の文字のリストです。 詳細は項4.1.2.1を参照してください。, 同時にESCAPE ''と記述することでエスケープ文字を選択しないことも可能です。 エスケープ値がデータベースエンコーディングでのいかなる正当な文字にも対応しない場合、エラーは起こりませんが、いかなるデータにも一致しません。, この文字エントリエスケープは常に普通の文字と解釈されます。 有効なフラグは(gはそうではありませんが)表9-20に記述されています。, regexp_matches関数はPOSIX正規表現パターンマッチの結果捕捉された全ての部分文字列のテキスト配列を返します。 RE全体に対してはその要素から推論されるものと異なる欲張りさの属性が必要な場合に、これは便利です。 表9-14に設定可能な量指定子とその意味を示します。, 制約は空文字に、特定の条件に合う場合のみに一致します。

空文字列はまったく一致する要素がない文字列よりも長いと考えられます。 繰り返しになりますが、これは(?

パターン内の抽出対象の部分文字列より前に丸括弧が必要な場合、後述の捕捉されない丸括弧を参照してください。, regexp_replace関数は、POSIX正規表現パターンに一致する部分文字列を新規テキストと置換します。 REが***=から始まるものであれば、REの残りは、全ての文字を普通の文字とみなしたリテラル文字列と解釈されます。, AREは埋め込みオプションから始められます。(?xyz)という並びで残りのREに影響するオプションを指定します(ここでxyzは1つ以上の英字です)。

これは、POSIX 1003.2との互換性はありますが、そこでは定義されていない式です。ですので、他システムへ移植予定のソフトウェアでの使用には注意が必要です。 AREの先頭(もし***:決定子があればその後)でのみ利用可能です。, 全ての文字が意味を持つ、通常の(厳しめの)RE構文に加え、x埋め込みオプションを指定することで利用できる拡張構文があります。

単純な制約を表9-15に示します。後で他のいくつかの制約を説明します。, 注意: もしstandard_conforming_stringsパラメータをoffにしていた場合、リテラル文字列定数に記述するバックスラッシュは2倍必要となります。

拡張構文では、RE内の空白文字は無視され、#とその後の改行(もしくはREの終端)の間の全ての文字も同様です。 jQueryで改行コードをに置換する var str = $('textarea').val(); $('#text').html(str.replace(/\r?\n/g, '')); 改行コードとは. しかし、任意の丸括弧を持つパターンの場合、最初の丸括弧内部分正規表現(左丸括弧が最初に来るもの)に一致するテキストの一部が返されます。 SIMILAR TOと同様、指定したパターンがデータ文字列全体に一致する必要があります。一致しない場合、関数は終了し、NULLを返します。一致した場合に返されるべきパターンの一部を示すために、エスケープ文字の後に二重引用符(")を繋げたものを2つパターンに含める必要があります。 これは、SELECT対象のリストに対し、マッチするものが無い場合であっても全ての行を返したい場合に特に有用です。, regexp_split_to_table関数はPOSIX正規表現パターンを区切り文字として使用し、文字列を分割します。regexp_split_to_table(string, pattern [, flags ])の構文になります。 9.7. PostgreSQL (ポストグレ・エスキューエル) を使い始めた。Oracle より柔軟性がある感じがする。 今回は改行を含む文字列で Insert・Update したり、テーブル・カラムにコメントを付けたりする方法を紹介。 方法1 : chr() を使う chr(13) で CR、chr(10) で LF が入れら…

しかし、REパターンの前に、項9.7.3.4に記載されているような埋め込みオプションを追加することにより、より限られたERE、あるいはBRE規則を選択することができます。 *および.に相当します)。, LIKEから取り入れた上記の機能に加え、SIMILAR TOでは、以下のようにPOSIX正規表現から取り入れたパターンマッチメタ文字もサポートしています。, LIKEと同様、バックスラッシュは全てのメタ文字の特殊な意味を無効にします。 しかし、移植性を高めたいプログラムでは、256バイトを超えるREを使用すべきではありません。POSIX互換の実装ではそうしたREでは混乱する可能性があります。, AREの機能のうち、POSIX EREと実質的な非互換性があるのは、\がブラケット式の内側で特殊な意味を失わないという点のみです。

部分式[0-9]{1,3}は欲張り型ですが、決定された一致する全体の長さを変更することはできません。したがって、強制的に1に一致することになります。, まとめると、REが欲張り型部分式と非欲張り型部分式の両方を持つ場合、全体のマッチ長はRE全体に割り当てられる属性に応じて、最長マッチ長か最短マッチ長のどちらかになります。 標準文字クラス名は、alnum、alpha、blank、cntrl、digit、graph、lower、print、punct、space、upper、xdigitです。 もし、パターンが丸括弧に括られた部分文字列を含まない場合、結果はパターン全体に一致する部分文字列を含む単一要素のテキスト配列となります。 これらを表9-17に示します。, 制約エスケープは、指定した条件に合う場合に空文字に一致する制約をエスケープとして表したものです。 もはやマッチしなくなると最後のマッチの終わりから文字列の最後までテキストを返します。 しかし、AREエスケープの\Aと\Zは、継続して、文字列の先頭と末尾のみに一致します。, 部分的に改行を区別するマッチが指定されると、.とブラケット式は改行を区別する一致を行うようになりますが、^と$は変更されません。, 部分的に改行を区別する逆マッチが指定されると、^と$は改行を区別する一致を行うようになりますが、.とブラケット式は変更されません。 例えば、\135はASCIIの]となり、\135はブラケット式の終端にはなりません。, ブラケット式内では、\d、\s、および\wはその外側の大括弧を失い、\D、\Sおよび\Wは不正です。

第4引数の「‘g’」はあるだけ繰り返すという指定になります。つまり、レコード内の全ての改行を置き換える事を意味します。 改行を除去する PostgreSQLの場合. デフォルトのエスケープ文字はバックスラッシュですが、ESCAPE句で他の文字を指定することができます。エスケープ文字そのものを一致させるにはエスケープ文字を2つ書きます。, 注意: もしstandard_conforming_stringsパラメータをoffにしていた場合、リテラル文字列定数に記述するバックスラッシュは2倍必要となります。 範囲は並びの照合順に非常に依存しています。ですので、移植予定のプログラムではこれに依存してはなりません。, このリストに]そのものを含めるには、それを先頭文字(もしそれが使用されれば^の後)にしてください。 通常後述の制約エスケープの方がよく使われます。これはもはや標準ではありませんが、入力しやすいものです。, エスケープとは、\から始まり英数字がその後に続く特殊な並びです。

これは、大きな問題にはならないはずです。以前のリリースではこうした並びを記述する理由がないからです。, AREでは、\は[]内でも特別な文字です。したがって、ブラケット式では\を\\と記述しなければなりません。, BREはEREといくつかの面において異なります。 例として、数字をいくつか含む文字列を数字とその前後の部分に分けようとしているとします。 こうしたコメントは実用性というより歴史的所産です。そのため、この使用は勧めません。代わりに拡張構文を使用してください。, 初めに***=決定子が指定され、ユーザの入力がREではなくリテラルとして扱われる場合、これらのメタ構文拡張は使用できません。, REが文字列の中の1つ以上の部分文字列と一致する場合において、REは最初にマッチが始まった部分文字列と一致します。 PostgreSQL (ポストグレ・エスキューエル) を使い始めた。Oracle より柔軟性がある感じがする。 今回は改行を含む文字列で Insert・Update したり、テーブル・カラムにコメントを付けたりする方法を紹介。 方法1 : chr() を使う chr(13) で CR、chr(10) で LF が入れら… 厳密な置換マッチングが必要な場合、PostgreSQLのregexp_replace関数はPOSIXの正規表現パターンを使用して一致させることができます。 これは構文regexp_replace(source、pattern、replacement [、flags])を持ちます。, 私は大文字と小文字を区別しないグローバル一致のためにそれぞれフラグiとgを使います。 \mと\Mを使って単語の先頭と末尾をそれぞれマッチさせます。, 正規表現の置き換えを行うときには、通常、かなりの問題があります。 猫と犬を交換するのがいかに簡単か見てみましょう。, そのすべての後でさえ、未解決の状態が少なくとも 1つあります。 たとえば、「Cat」で始まる文章は、小文字の「dog」に置き換えられ、文の大文字小文字を区別します。, すべての詳細については、現在のPostgreSQL パターンマッチングドキュメントを参照してください。, postgresqlでは、データベース列内の文字列のすべてのインスタンスをどのように置き換えるのですか?, しかし、これは文字列から文字列への置換であることに注意してください。したがって、 'カテゴリ'は 'dogegory'になります。 regexp_replace関数は、置き換えたいものに対してより厳密な一致パターンを定義するのに役立ちます。, ここでは、列の1つ以上の空白文字のすべてのインスタンスを、正規表現を使用してアンダースコアに置き換える例を示します。, PostgreSQLの 'group by'クエリで文字列フィールドの文字列を連結する方法. 他の全てのARE機能は、POSIX EREでは不正、未定義、未指定な効果となる構文を使用しています。決定子の***構文などはBREおよびEREのPOSIX構文にはありません。, 多くのARE拡張はPerlから拝借したものです。しかし、いくつかは整理され、Perlの拡張のいくつかは存在しません。注意すべき非互換性には、\b、\B、改行の取り扱いに関する特殊な措置の欠落、改行を区別する一致に影響する点について補足したブラケット式の追加、括弧と先行検索制約内の後方参照についての制限、最長/最短(最初に一致するではなく)マッチのセマンティックがあります。, PostgreSQLリリース7.4より前で認知された、AREとERE構文間で大きな非互換が2つあります。, AREでは、\の後に英数字が続くものはエスケープもしくはエラーとなります。以前のリリースでは、これは単に、英数字を記述する他の方法でした。

ある文字列が正規表現で記述された正規集合の要素になっていれば、その文字列は正規表現に一致していると呼ばれます。 MySQLでdatetimeまたはtimestampのデータ型を使用する必要がありますか. 本書では、非POSIX拡張を使用したREを高度なREもしくはAREと呼びます。AREはEREの正確な上位セットですが、BREとは複数の記法上の非互換な点があります(さらに非常に多くの制限が課されています)。

使用可能なオプション文字を表9-20に示します。 PostgreSQL > 改行・タブのある文字列をファイル出力 追記(2015/03/12): pgAdmin クエリツールのメニュー execute to file を使えば、もっと簡単にできました m(_)m 詳細はこちら 9.7. select regexp_replace('あああいう','あ','ア'); -- → 「アああいう」 ところが、上記のように最初に見つけた文字しかリプレースしてくれません。 REGEXP_REPLACE() では全てを置き換えてくれないのでしょうか… postgresqlでカラム内の改行コードを半角スペースに置換 regexp_replace(カラム名,E'(\r\n|\r|\n|\t)',' ','g') 投稿時刻 26th January 2013 、投稿者 kiseragi さん sql replace関数とは2. \の後に英数字が続くけれども、有効なエスケープを構成しない並びはAREでは不正です。 もし、パターンが丸括弧に括られた部分文字列を含む場合、関数はパターンのn番目に丸括弧で括られた部分文字列に一致する、n番目の要素が部分文字列であるテキスト配列を返します("捕捉されない"丸括弧は数えません。詳細は下を見てください。)。

(他に等価な照合要素がある場合、[.と. 欲張りでなくすることで直そうとするかもしれません。, またもや上手くいきませんでした。今度は、REが全体として欲張りでなくなってしまい、できる限り早く全体に渡る一致を終わらせてしまうからです。 私は大文字と小文字を区別しないグローバル一致のためにそれぞ …

egrep、sed、あるいはawkのような多くのUnixツールはここで解説しているのと類似したパターンマッチ言語を使用しています。, 正規表現とは文字列の集合(正規集合)の簡略された定義である文字が連なっているものです。

Copyright © 2020 Programmer Life All Rights Reserved. (adsbygoogle = window.adsbygoogle || []).push({}); 今回は文字列を置換するときに使用するSQLのREPLACE関数についてお勉強しましょう!, 今回は文字列を置換するときに使用するSQLのREPLACE関数についてお勉強したよ!, https://fkgtinfo.com/wp-content/uploads/2020/08/penchan_title.png. (想像される通り、NOT LIKE式はLIKE式が真を返す場合には偽を返し、その逆もまた同じです。 これはあまり有用ではありません。対称性のために提供されています。, 本実装ではREの長さに関する制限はありません。 バウンド内のmとnという数は符号なし10進整数であり、0以上255以下の値を取ることができます。, 最短マッチを行う量指定子(AREのみで使用可能)は、対応する通常の(欲張りの)ものと同じものに一致しますが、最大のマッチではなく最小のマッチを取ります。 構文は次のようになります。, 実際に変換されるか、変更前の文字列、変更後の文字列を検索(select)して見ましょう。, 検索結果は次のようになります。「pen」を「penguin」に置換されていることがわかります。, 実際に職業テーブル(job_table)の職業(job)を「student」から「teacher」に変更するSQLを作ってみましょう。, Taroの職業が「student」から「teacher」に変更されていることがわかります。, 今回は文字列を置換するときに使用するREPLACE関数と使用例をみていきました。ぜひ参考にしてみてください。. ブラケット式の外側にアルファベットの大文字小文字が混ざった通常の文字が出てきた場合、例えば、xが[xX]となるように大文字小文字ともにブラケット式に実質的に転換されます。 またNOT LIKEおよびNOT ILIKEを表す!~~および!~~*演算子があります。 構文は、regexp_replace(source、pattern、replacement [、flags ])です。 その後に数字が続かない単一の非ゼロ数字は常に後方参照として解釈されます。

次のようにしてみるかもしれません。, 上手くいきませんでした。最初の. $data; First Line Second Line First Line Second Line, function str_replace()の詳細は、 http://php.net/manual/en/function.str-replace.php ://php.net/manual/en/function.str-replace.phpを参照してください。, 誰かがMySqlテーブルに入力するテキストに新しい行を追加する方法を教えてもらえますか?, 私はINSERT INTO文で入力した行に'\n'を使ってみましたが、 '\n'はそのまま表示されます。, 実際に私はいくつかのデータでMS Accessでテーブルを作成しました。 MS Accessは新しい行に'\n'を追加します。 私はMS AccessのテーブルデータをMySqlに変換しています。 しかし、変換すると、 '\n'は無視され、PHPフォーム上のMySqlテーブルから表示すると、すべてのテキストが1行に表示されます。, 誰かがMySQLがテキストに新しい行を追加する方法を教えてもらえますか? 応答を待って、ありがとう!, SQLまたはMySQLでは、 charまたはchr関数を使用して、キャリッジリターン改行のASCII 13で入力することができます。 しかし、@David Mが述べているように、あなたは、HTMLをこのブレークショーにしたいと思う可能性が高く、brはうまくいくでしょう。, ほとんどの場合、MySQLは改行を記録できますが、実際の文字列に
タグが必要なため、ブラウザでブレークを表示する必要があります。 PHPに言及して以来、 nl2br()関数を使って改行文字( " \n ")をHTML
タグに変換することができます。, マニュアルへのリンクは次のとおりです: http://php.net/manual/en/function.nl2br.php : http://php.net/manual/en/function.nl2br.php, まず、PHP形式で表示したい場合、媒体はHTMLであり、新しい行は
タグでレンダリングされます。 ページのソースHTMLをチェックしてください。新しい行を改行としてレンダリングすることもできます。その場合、問題は単純に出力用のテキストをWebブラウザに翻訳することです。, 特定のツールがそのコンテンツをレンダリングする際に、テーブルの内容を混乱させているように私には聞こえます。, 私はあなたがコマンドライン(シェル)クライアントを使用しているとmysqlます。このカラムにテキストを入力して表示するには、 mysqlプロンプトが必要です。 私はあなたが\ nが改行として保存されていると推測しています。それはあなたの混乱の原因となっている唯一の方法です。, 私はちょうど1つの行にすべてのSQLステートメントを持っていることが望ましい状況があったので、私はCONCAT_WS()とCHAR()組み合わせが私のために働いたことがCONCAT_WS()ました。, http://php.net/manual/en/function.str-replace.php, http://php.net/manual/en/function.nl2br.php. これらの同じオプション文字が、正規表現関数のflagsパラメータで使用されることに注意して下さい。, 埋め込みオプションはその並びの終端)で有効になります。

リストが^から始まる場合、そのリストの残りにはない任意の1文字に一致します。 (PostgreSQLはREをAREとして推測するため、通常は影響を受けません。ただし、正規表現関数に対してflagsパラメータを指定されたEREやBREモードでは影響を受けます。)

この並びはブラケット式のリストの一要素として取り扱われます。 このオプションは、事前に決定されたオプションを上書きします。— 特に、正規表現演算子、もしくは正規表現関数に与えられたflagsパラメータにより示される大文字小文字の区別を上書きします。 PostgreSQLで文字列を置換する方法 - replace関数を使用.

例えば、([bc])\1はbbもしくはccに一致しますが、bcやcbには一致しません。REでは副式全体は後方参照の前になければなりません。 スポンサーリンク flagsパラメータは、関数の動作を変更するゼロもしくは複数の単一文字フラグを含むオプションのテキスト文字列です。

]の間にあると、その照合要素の文字の並びを意味します。 エスケープには、文字エントリ、クラス省略、制約エスケープ、後方参照といった様々な変種があります。

PostgreSQL は以前から like 演算子の代わりに ~ 演算子で正規表現検索ができました。Version 8.1 からは、regexp_replace 関数で、正規表現による置換もできるようになっています。 REが***:から始まるものであれば、REの残りはAREと解釈されます。 BREにおいては、|、+、?は普通の文字であり、それらの機能と等価なものはありません。

エンコーディングがUTF-8の場合、エスケープ値はユニコード符号位置に相当します。例えば、\u1234は文字U+1234を意味します。 また、LIKEと同様、SIMILAR TOでは、%および_を、それぞれ任意の文字列および任意の単一文字を意味するワイルドカード文字として使用します(これらは、POSIX正規表現での. UPDATE テーブル名 SET カラム名 = regexp_replace(カラム名, '\r|\n|\r\n', '') WHERE カラム名 like '%' || chr(10) || '%' or カラム名 like '%' || chr(13) || '%'; regexp_replace(カラム名, '\r|\n|\r\n', '')で正規表現で改行を指定し空の値に置換しています。. ^は、REの先頭にある場合や括弧内の副式の先頭の場合を除き、普通の文字です。 PostgreSQLコマンドやSQL文に関する各種メモ書き クイックリンク postgreSQLを使用するユーザー、データベースを作成する postgreSQLの起動 日付データをSELECT時に年・月・日に分解する postgreSQLで最後にinsertしたデータのidを取得する。 sql replace関数を使ってみよう3. これらを表9-16に示します。, クラス省略エスケープは、あるよく使用される文字クラスの省略形を提供します。 postgresql には、パターンマッチを行うに際して3つの異なった手法があります。 伝統的なsqlのlike演算子、これより新しいsimilar to演算子(sql:1999で追加されました)、およびposix様式の正規表現です。基本の "この文字列はこのパターンに一致するか? 1 改行コードを挿入する方法2 T-SQLで改行コードを挿入する3 Oracle Database SQLで改行コードを挿入する4 MySQLで改行コードを挿入する5 PostgreSQLで改行コードを挿入する6 SQLiteで改行コードを regexp_split_to_tableは表9-20で記載されているフラグをサポートします。, regexp_split_to_array関数は、regexp_split_to_arrayがその結果をtext配列で返すことを除いて、regexp_split_to_tableと同じ動作をします。 これにより、段落付けや複雑なREのコメント付けが可能になります。 量指定子がある場合、アトムとの一致が何回あるかで一致したことになります。



レジスチル 入手方法 ポケモンgo 4, 通関士 宅 建 6, 保育士 キャリアアップ研修 令和2年度 神奈川県 7, タカハシ 赤道儀 Em11 4, Libreoffice セル内改行 Mac 4, 哲学 学ぶ 社会人 4, Sql 使い方 Excel 4, 日立 冷蔵庫 部品 取り寄せ 8, 志望理由書 2000字 例文 10, お金 名言 英語 10, スーパーファミコン ミニ 反応 遅い 6, プロスピ2019 スタープレイヤー 積極盗塁 11, アイムピンチ 定期 変更 4, プレハブ 2階 増築 12, Unity 3d エフェクト 12, ソフィーのアトリエ Despair 魔王 7, 国語 用法 と は 13, あつ森 マイデザイン インスタ 4, 日大豊山 野球部 強い 6, Python Sqlファイル 読み込み 8, エストレヤ ギア 固い 4, トヨタ自動車 社歌 歌詞 9, Capture One テザー撮影 Canon 15, Kindle Usb 認識しない 42, 中村高校 偏差値 昔 4, ミニバス オフィシャル 2019 6, み こころ 保育園 三原 4, 脱出ゲーム 攻略 Sign 42, 中 二 テスト 問題 5, アオハライド その後 小説 30, 日 向坂 46デビュー1周年記念 スペシャルトーク&ライブ 動画 30, 並列回路 抵抗 電流 4, プラダ バッグ 値段 7, Ps3 コントローラー Pc Steam 6, ヒロアカ 夢小説 ヒーロー嫌い 16, テニス 左利き 持ち方 12, ムロツヨシ 戸田恵梨香 結婚 23, 三雲孝江 娘 Nhk 26, Hgvc ポイント 前借り 方法 6, スバル クラッチ交換 費用 7, プライオリティパス アプリ デジタル会員証 楽天 5, ドラクエ10 キラーマシン 育成 20, 臨 醐 山黒酢 効能 9, 街コン 大阪 趣味 5, Snow Man 売上枚数 最新 14, ジムニー ウインカー 配線 5, 仕事 ミス 隠滅 8, Gtarcade アン インストール できない 4, Mobilenet 顔 検出 24, Scansnap Ix1500 接続できない 8, 賃金台帳 100 均 33, マイクラ 海底神殿 イルカ 13, 4年生 理科 ヘチマ 9, ディビジョン2 Tu9 ビルド 10, ポケモンgo タブレット 2020 9,