質問編集履歴
2
REGEXP_REPLACEを使用し構文に修正しました。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            ### 実現したいこと
         | 
| 2 2 | 
             
            ZabbixのアイテムのヒストリをSQLで出力させてます。以下の条件のもと文字列を抽出する方法はありますか?
         | 
| 3 | 
            +
            REGEXP_REPLACEをつかいましたが、理想の結果になりません。
         | 
| 3 4 | 
             
            ・「@」の前を抽出。
         | 
| 4 5 | 
             
            ・「@」が無い場合は、すべて抽出。
         | 
| 5 6 | 
             
            恐れ入りますが、ご教示お願いします。
         | 
| @@ -27,6 +28,26 @@ | |
| 27 28 | 
             
            | dog@yahoo.co.jp|yahoo|メール|dog支店                                                        |
         | 
| 28 29 | 
             
            | tiger|yahoo||                                                                              |
         | 
| 29 30 | 
             
            +--------------------------------------------------------------------------------------------+
         | 
| 31 | 
            +
             | 
| 32 | 
            +
            SELECT REGEXP_REPLACE(zabbix.history_str.value, '@.+','') AS 'address'
         | 
| 33 | 
            +
            FROM 
         | 
| 34 | 
            +
              zabbix.history_str 
         | 
| 35 | 
            +
              LEFT JOIN zabbix.items USING(itemid)
         | 
| 36 | 
            +
            WHERE  from_unixtime(zabbix.history_str.clock) BETWEEN  '2022-01-02T17:46' AND  '2022-03-05T18:46';
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            #出力結果
         | 
| 39 | 
            +
            +--------------------------------------------------------------------------------------------+
         | 
| 40 | 
            +
            |address                                                                                     |
         | 
| 41 | 
            +
            +--------------------------------------------------------------------------------------------+
         | 
| 42 | 
            +
            | 123                                                                                        |
         | 
| 43 | 
            +
            | 456                                                                                        |
         | 
| 44 | 
            +
            | 789|google||                                                                               |
         | 
| 45 | 
            +
            | cat                                                                                        |
         | 
| 46 | 
            +
            | dog                                                                                        |
         | 
| 47 | 
            +
            | tiger|yahoo||                                                                              |
         | 
| 48 | 
            +
            +--------------------------------------------------------------------------------------------+
         | 
| 49 | 
            +
             | 
| 50 | 
            +
             | 
| 30 51 | 
             
            ```
         | 
| 31 52 |  | 
| 32 53 |  | 
1
内容やタイトルを変更しました。
    
        title	
    CHANGED
    
    | @@ -1,1 +1,1 @@ | |
| 1 | 
            -
            SQLで指定文字の前を抽出したいです。
         | 
| 1 | 
            +
            Zabbix SQLで指定文字の前を抽出したいです。
         | 
    
        body	
    CHANGED
    
    | @@ -1,22 +1,37 @@ | |
| 1 1 | 
             
            ### 実現したいこと
         | 
| 2 | 
            -
            [バージョン]
         | 
| 3 | 
            -
            10.5.10-MariaDB
         | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 2 | 
            +
            ZabbixのアイテムのヒストリをSQLで出力させてます。以下の条件のもと文字列を抽出する方法はありますか?
         | 
| 6 3 | 
             
            ・「@」の前を抽出。
         | 
| 7 4 | 
             
            ・「@」が無い場合は、すべて抽出。
         | 
| 8 5 | 
             
            恐れ入りますが、ご教示お願いします。
         | 
| 9 6 |  | 
| 10 | 
            -
             | 
| 7 | 
            +
            [バージョン]
         | 
| 11 | 
            -
            |:--|
         | 
| 12 | 
            -
             | 
| 8 | 
            +
            MariaDB:10.5.10
         | 
| 13 | 
            -
            |456|
         | 
| 14 | 
            -
            |789@gmail.com|
         | 
| 15 | 
            -
            |cat@yahoo.co.jp|
         | 
| 16 | 
            -
            |dog|
         | 
| 17 | 
            -
             | 
| 9 | 
            +
            zabbix:5.0
         | 
| 18 10 |  | 
| 11 | 
            +
            ```sql
         | 
| 12 | 
            +
            SELECT zabbix.history_str.value AS 'address'
         | 
| 13 | 
            +
            FROM 
         | 
| 14 | 
            +
              zabbix.history_str
         | 
| 15 | 
            +
              LEFT JOIN zabbix.items USING(itemid)
         | 
| 16 | 
            +
            WHERE  from_unixtime(zabbix.history_str.clock) BETWEEN  '2022-01-02T17:46' AND  '2022-03-05T18:46';
         | 
| 19 17 |  | 
| 18 | 
            +
             | 
| 19 | 
            +
            #出力結果
         | 
| 20 | 
            +
            +--------------------------------------------------------------------------------------------+
         | 
| 21 | 
            +
            |address                                                                                     |
         | 
| 22 | 
            +
            +--------------------------------------------------------------------------------------------+
         | 
| 23 | 
            +
            | 123@gmail.com|google|メール|123支店                                                         |
         | 
| 24 | 
            +
            | 456@yahoo.co.jp|yahoo|メール|456支店                                                        |
         | 
| 25 | 
            +
            | 789|google||                                                                               |
         | 
| 26 | 
            +
            | cat@gmail.com|google|メール|cat支店                                                         |
         | 
| 27 | 
            +
            | dog@yahoo.co.jp|yahoo|メール|dog支店                                                        |
         | 
| 28 | 
            +
            | tiger|yahoo||                                                                              |
         | 
| 29 | 
            +
            +--------------------------------------------------------------------------------------------+
         | 
| 30 | 
            +
            ```
         | 
| 31 | 
            +
             | 
| 32 | 
            +
             | 
| 33 | 
            +
             | 
| 34 | 
            +
             | 
| 20 35 | 
             
            ---
         | 
| 21 36 | 
             
            ### 理想の結果
         | 
| 22 37 | 
             
            ```sql
         | 
