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

ファイルパスのある列からMySQLの左の部分文字列を取得するにはどうすればよいですか?ファイル名を除くファイルパス文字列全体を表示しますか?


左側のサブストリングを取得するには、substring_index()とともにLEFT()を使用します。たとえば、ファイルパスが-

であるとします。
“/MyFile/JavaProgram/Hello.java “

ここでは、ファイル名を除くファイルパス全体を表示する方法を説明します。つまり、-

/MyFile/JavaProgram/

まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   FileLocation text
);
Query OK, 0 rows affected (0.57 sec

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('/MyFile/JavaProgram/Hello.java');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values('/C/AllPrograms/animation.gif');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('/E/FavFile/ChatProgram.java');
Query OK, 1 row affected (0.18 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+--------------------------------+
| FileLocation                   |
+--------------------------------+
| /MyFile/JavaProgram/Hello.java |
| /C/AllPrograms/animation.gif   |
| /E/FavFile/ChatProgram.java    |
+--------------------------------+
3 rows in set (0.00 sec)

以下は、MySQLで左の部分文字列を取得するためのクエリです-

mysql> select left(FileLocation,char_length(FileLocation)-char_length(substring_index(FileLocation,'/',-1))) from DemoTable;

これにより、次の出力が生成されます-

+------------------------------------------------------------------------------------------------+
| left(FileLocation,char_length(FileLocation)-char_length(substring_index(FileLocation,'/',-1))) |
+------------------------------------------------------------------------------------------------+
| /MyFile/JavaProgram/                                                                           |
| /C/AllPrograms/                                                                                |
| /E/FavFile/                                                                                    |
+------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)

  1. MySQLテーブルから既存の列の名前を変更するにはどうすればよいですか?

    CHANGEステートメントとALTERステートメントを使用して、MySQLテーブルから特定の既存の列の名前を変更できます。その構文は次のようになります- 構文 ALTER TABLE table_name CHANGE old_column_name new_column_name datatype; ここで、 table_name 列を削除するテーブルの名前です。 Old_column_name 変更する列の名前です。 new_column_name 古い列に付ける必要のある列の名前です。 例 この例では、列の名前を変更しています「id」 「学生」 テーブルから「

  2. MySQLを使用してJavaでResultSetの列名を取得するにはどうすればよいですか?

    結果セットの列名を取得するには、getMetaData()メソッドを使用する必要があります。 getMetadata()のプロトタイプは次のとおりです- ResultSetMetaData getMetaData throws SQLException; 5つの列名を持つMySQLテーブルを作成します。テーブルを作成するためのクエリは次のとおりです- mysql> create table javagetallcolumnnames    -> (    -> Id int NOT NULL AUTO_INCREMENT,