本記事では、具体的な例を通じてクエリ内で型変換関数を使用する方法を紹介します。
型変換関数
型変換関数は、あるデータ型を別のデータ型に変換するために使用されます。例えば、型変換関数は数値、日付時刻、文字列間の変換をサポートしています。
例
時刻文字列を日付時刻データ型に変換する
OceanBase CloudのMySQL互換モードでは、時刻文字列をDATE型のデータに直接代入できます。OceanBase Cloudは文字列を自動的にDATE型に変換します。また、CONVERT()またはCAST()関数を使用して時刻文字列をDATE型に変換することもできます。例:
obclient> SELECT CONVERT('2020-02-02 14:30:45', DATE) t1
, CONVERT('2020-02-02 14:30:45', TIME) t2
, CONVERT('2020-02-02 14:30:45', DATETIME) t3
, CAST('2020-02-02 14:30:45' AS DATE) t4
, CAST('2020-02-02 14:30:45' AS TIME) t5
, CAST('2020-02-02 14:30:45' AS DATETIME) t6
\G
*************************** 1. row ***************************
t1: 2020-02-02
t2: 14:30:45
t3: 2020-02-02 14:30:45
t4: 2020-02-02
t5: 14:30:45
t6: 2020-02-02 14:30:45
1 row in set
説明
DATE_FORMAT() 関数を使用して、DATE 型の値を文字列に変換できます。
数値と文字列の間の変換
OceanBase CloudのMySQL互換モードのテナントでは、CONVERT()またはCAST()関数を使用して数値と文字列の間で変換できます。
obclient> SELECT CONVERT('3.1415926', DECIMAL) n1
, CAST('3.1415926' AS DECIMAL) n2
, CONVERT(3.1415926, CHAR(10)) s1
, CAST(3.1414926 AS CHAR(10)) s2;
+------+------+-----------+-----------+
| n1 | n2 | s1 | s2 |
+------+------+-----------+-----------+
| 3 | 3 | 3.1415926 | 3.1414926 |
+------+------+-----------+-----------+
1 row in set