MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

ダッシュで接続されたMySQL文字列を逆にするにはどうすればよいですか?


MySQLの関数名はREVERSE()で、これを使用して文字列を逆にすることができます。ただし、ダッシュで接続された文字列を逆にしたい場合、次の例に示すように、REVERSE()関数を使用しても適切な結果が得られないとします。

mysql> Select REVERSE('AB-CD-EF');
+---------------------+
| REVERSE('AB-CD-EF') |
+---------------------+
| FE-DC-BA            |
+---------------------+
1 row in set (0.00 sec)

適切な結果は「EF-CD-AB」であり、そのような出力を取得するには、Instr()関数と一緒にSUBSTRING_INDEX()関数を使用できます。次のように示されます:

mysql> Select CONCAT(SUBSTRING_INDEX('AB-CD-EF','-',-1), '-', substr('AB-CD-EF',instr('AB-CD-EF',"-")+1, instr('AB-CD-EF',"-")),LEFT('AB-CD-EF',LOCATE('-','AB-CD-EF') -1))As 'Reversed';
+-----------+
| Reversed  |
+-----------+
| EF-CD-AB  |
+-----------+
1 row in set (0.00 sec)


  1. テーブルのリストでMySQL一時テーブルをどのように確認できますか?

    SHOW TABLESステートメントを使用すると、データベース内のテーブルのリストを確認できます。ただし、MySQL一時テーブルはこのリストに格納されていません。つまり、SHOWTABLESステートメントを使用して一時テーブルを表示することはできません。それを説明するために、次の例を使用しています- 例 この例では、次のようにSHOWTABLESステートメントから「SalesSummary」という名前の一時テーブルを取得しようとしています- mysql> SHOW TABLES LIKE '%Sales%'; Empty set (0.00 sec) mysql>

  2. MySQLで日数を数えるにはどうすればよいですか?

    まず、1つの列を日時として、別の列に日が格納されているテーブルを作成しましょう。 mysql> create table DemoTable (    ShippingDate datetime,    CountOfDate int ); Query OK, 0 rows affected (0.52 sec) 以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。 mysql> insert into DemoTable values('2018-01-31',6); Query OK,