MySQLで値が整数であるかどうかを確認するにはどうすればよいですか?
指定された値が文字列であるかどうかを確認するには、cast()関数を使用します。値が数値でない場合は0を返し、そうでない場合は数値を返します。このようにして、値が整数であるかどうかを確認できます。
ケース1-整数を含む文字列をチェックする
mysql> select cast('John123456' AS UNSIGNED);
以下は出力です。値が数値ではないため、0が返されることを示しています。
+--------------------------------+ | cast('John123456' AS UNSIGNED) | +--------------------------------+ | 0 | +--------------------------------+ 1 row in set, 1 warning (0.00 sec)>
ケース2-整数値のみをチェックする
mysql> select cast('123456' AS UNSIGNED);
以下は出力です。値が数値であることを示しているため、値自体が返されます。
+----------------------------+ | cast('123456' AS UNSIGNED) | +----------------------------+ | 123456 | +----------------------------+ 1 row in set (0.00 sec)
このロジックはfloatでもうまく機能します。
以下は、float値を使用したクエリです。
mysql> SELECT CAST('78.90' AS UNSIGNED);
これが出力です。
+---------------------------+ | CAST('78.90' AS UNSIGNED) | +---------------------------+ | 78 | +---------------------------+ 1 row in set, 1 warning (0.00 sec)
通常の演算子を使用した代替ロジック
フロートも含め、あらゆる値のすべての条件で機能します。
新しいテーブルを作成しましょう。
mysql> create table CheckingIntegerDemo -> ( -> Value varchar(200) -> ); Query OK, 0 rows affected (0.88 sec)
テーブルにレコードを挿入します。
mysql> insert into CheckingIntegerDemo values('John123456'); Query OK, 1 row affected (0.10 sec) mysql> insert into CheckingIntegerDemo values('123456'); Query OK, 1 row affected (0.16 sec) mysql> insert into CheckingIntegerDemo values('123.456'); Query OK, 1 row affected (0.16 sec)
すべてのレコードを表示します。
mysql> select *from CheckingIntegerDemo;
これが出力です。
+------------+ | Value | +------------+ | John123456 | | 123456 | | 123.456 | +------------+ 3 rows in set (0.00 sec
上記の出力では、123456のみが整数であり、残りは整数ではありません。
値が整数かどうかを確認するための構文。
select yourColumnName from yourTableName where yourColumnName REGEXP '^-?[0-9]+$';
正規表現を使用したクエリ。これにより、整数値のみが出力されます。
mysql> select Value from CheckingIntegerDemo where Value REGEXP '^-?[0-9]+$';
以下は出力です。
+--------+ | Value | +--------+ | 123456 | +--------+ 1 row in set (0.00 sec)
-
MySQLの列値の前に文字列を追加するにはどうすればよいですか?
MySQLの列値の前に文字列を追加するには、関数CONCATを使用できます。 CONCAT関数はUPDATEステートメントで使用できます。 テーブルを作成します。 mysql> create table PrependStringOnCOlumnName -> ( -> Id int, -> Name varchar(200) -> ); Query OK, 0 rows affected (1.35 sec) いくつかのレコードを挿入します。 mysql> insert into PrependStringOnCOlumn
-
MySQLでどのデータベースが選択されているかを確認するにはどうすればよいですか?
これは、dualのDATABASE()メソッドを使用して確認できます。データベースビジネスを使用しているとします。クエリは次のとおりです- mysql> use business; Database changed これで、デュアルからDATABASE()を使用して、どのデータベースが選択されているかを確認できます。クエリは次のとおりです- mysql> SELECT DATABASE() FROM DUAL; これが出力です。 +------------+ | DATABASE() | +------------+ | business | +---------