に最終更新
PARSE_DATA_SIZE
説明
PARSE_DATA_SIZE 関数は、ストレージ単位を含む文字列(「1.5GB」など)を解析し、バイト単位の数値に変換します。
構文
PARSE_DATA_SIZE(<str>)
パラメータ
| パラメータ | 説明 |
|---|---|
<str> | 単位を含むデータサイズの文字列(例:「100MB」、「2.5GB」)。型:VARCHAR |
戻り値
バイト単位に変換した数値を LARGEINT 型で返します。
特殊なケース:
- 対応する単位(大文字と小文字を区別するため、表記を正確に使用してください):B、kB、MB、GB、TB、PB、EB、ZB、YB
- 単位は 1024 を基数とします(例:1kB = 1024B)
- 小数に対応します(例:「2.5MB」)
- パラメータの形式が無効な場合はエラーを返します
- パラメータが NULL の場合は NULL を返します。Doris 4.1 シリーズの 4.1.5 以降では、NULL 許容列の NULL 行は文字列の解析前にスキップされます
対応する単位の一覧:
| 単位 | 名称 | バイト数 |
|---|---|---|
| B | バイト | 1 |
| kB | キロバイト | 1024 |
| MB | メガバイト | 1024² |
| GB | ギガバイト | 1024³ |
| TB | テラバイト | 1024⁴ |
| PB | ペタバイト | 1024⁵ |
| EB | エクサバイト | 1024⁶ |
例
- 基本的な使い方:バイトを解析する
SELECT parse_data_size('1024B');
+--------------------------+
| parse_data_size('1024B') |
+--------------------------+
| 1024 |
+--------------------------+
- キロバイトを解析する
SELECT parse_data_size('1kB');
+------------------------+
| parse_data_size('1kB') |
+------------------------+
| 1024 |
+------------------------+
- 小数を含むメガバイトを解析する
SELECT parse_data_size('2.5MB');
+--------------------------+
| parse_data_size('2.5MB') |
+--------------------------+
| 2621440 |
+--------------------------+
- ギガバイトを解析する
SELECT parse_data_size('1GB');
+------------------------+
| parse_data_size('1GB') |
+------------------------+
| 1073741824 |
+------------------------+
- テラバイトを解析する
SELECT parse_data_size('1TB');
+------------------------+
| parse_data_size('1TB') |
+------------------------+
| 1099511627776 |
+------------------------+
- 対応していない単位を指定した場合のエラー
SELECT parse_data_size('1iB');
ERROR 1105 (HY000): errCode = 2, detailMessage = (10.16.10.3)[INVALID_ARGUMENT]Invalid Input argument "1iB" of function parse_data_size
- NULL を入力する
SELECT parse_data_size(NULL);
+-----------------------+
| parse_data_size(NULL) |
+-----------------------+
| NULL |
+-----------------------+
キーワード
PARSE_DATA_SIZE