MySQLは省略記号でテキストを切り捨てますか?
CASEステートメントでLENGTH()を使用すると、省略記号でテキストを切り捨てることができます。長さが7より大きい場合は、テキストを切り捨てて数値を追加します。それ以外の場合は、数値をそのまま印刷します。
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。
mysql> create table TruncateText -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Number longtext, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.66 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。
mysql> insert into TruncateText(Number) values('64575868667687'); Query OK, 1 row affected (0.11 sec) mysql> insert into TruncateText(Number) values('7654332'); Query OK, 1 row affected (0.17 sec) mysql> insert into TruncateText(Number) values('25434656'); Query OK, 1 row affected (0.19 sec) mysql> insert into TruncateText(Number) values('6457586'); Query OK, 1 row affected (0.17 sec) mysql> insert into TruncateText(Number) values('958567686868675757574'); Query OK, 1 row affected (0.13 sec) mysql> insert into TruncateText(Number) values('374785868968787'); Query OK, 1 row affected (0.21 sec) mysql> insert into TruncateText(Number) values('58969678685858585858585858585'); Query OK, 1 row affected (0.14 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。
mysql> select *from TruncateText;
出力は次のとおりです。
+----+-------------------------------+ | Id | Number | +----+-------------------------------+ | 1 | 64575868667687 | | 2 | 7654332 | | 3 | 25434656 | | 4 | 6457586 | | 5 | 958567686868675757574 | | 6 | 374785868968787 | | 7 | 58969678685858585858585858585 | +----+-------------------------------+ 7 rows in set (0.00 sec)
上記のサンプル出力には、長さが7より大きい数値がいくつかあります。長さが7より大きい場合は、7桁目の後に数値を追加する必要があります。長さが7または7に等しい場合、数値を追加する必要はありません。
クエリは次のとおりです。
mysql> SELECT *, CASE WHEN LENGTH(Number) > 7 -> THEN CONCAT(SUBSTRING(Number, 1, 7), '99999999') -> ELSE Number END AS AddNumber -> FROM TruncateText;
出力は次のとおりです。
+----+-------------------------------+-----------------+ | Id | Number | AddNumber | +----+-------------------------------+-----------------+ | 1 | 64575868667687 | 645758699999999 | | 2 | 7654332 | 7654332 | | 3 | 25434656 | 254346599999999 | | 4 | 6457586 | 6457586 | | 5 | 958567686868675757574 | 958567699999999 | | 6 | 374785868968787 | 374785899999999 | | 7 | 58969678685858585858585858585 | 589696799999999 | +----+-------------------------------+-----------------+ 7 rows in set (0.00 sec)
上記のサンプル出力を見てください。数値が7より大きい場合は、数値からすべての値を切り捨て、7桁目の後に数値「99999999」を追加しました。
-
Javaを使用してMySQLテーブルの列数をカウントする
これには、ResultSetMetaDataを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentFirstName varchar(20), -> StudentLastName varchar(20) -> ); Query OK, 0 r
-
MySQLのリストにある特定のアイテムの個別の数
特定のアイテムの明確な数を見つけるには、GROUP BY句とともにCOUNT()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1854 ( Name varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1854 values(