メインコンテンツまでスキップ
に最終更新

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⁶

例​

  1. 基本的な使い方:バイトを解析する
SELECT parse_data_size('1024B');
+--------------------------+
| parse_data_size('1024B') |
+--------------------------+
| 1024 |
+--------------------------+
  1. キロバイトを解析する
SELECT parse_data_size('1kB');
+------------------------+
| parse_data_size('1kB') |
+------------------------+
| 1024 |
+------------------------+
  1. 小数を含むメガバイトを解析する
SELECT parse_data_size('2.5MB');
+--------------------------+
| parse_data_size('2.5MB') |
+--------------------------+
| 2621440 |
+--------------------------+
  1. ギガバイトを解析する
SELECT parse_data_size('1GB');
+------------------------+
| parse_data_size('1GB') |
+------------------------+
| 1073741824 |
+------------------------+
  1. テラバイトを解析する
SELECT parse_data_size('1TB');
+------------------------+
| parse_data_size('1TB') |
+------------------------+
| 1099511627776 |
+------------------------+
  1. 対応していない単位を指定した場合のエラー
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
  1. NULL を入力する
SELECT parse_data_size(NULL);
+-----------------------+
| parse_data_size(NULL) |
+-----------------------+
| NULL |
+-----------------------+

キーワード​

PARSE_DATA_SIZE