メインコンテンツまでスキップ
バージョン: 26.x

PARSE_DATA_SIZE

説明

PARSE_DATA_SIZE関数は、ストレージ単位を含む文字列("1.5GB"など)を解析し、バイト単位の数値に変換します。

構文

PARSE_DATA_SIZE(<str>)

パラメータ

Parameterデスクリプション
<str>単位付きのデータサイズ文字列(例:"100MB"、"2.5GB")。型:VARCHAR

Return Value

BIGINT型を返し、バイトに変換された数値を表します。

特別なケース:

  • サポートされている単位(大文字小文字を区別しない):B、kB、MB、GB、TB、PB、EB、ZB、YB
  • 単位は基数1024を使用(例:1kB = 1024B)
  • 小数をサポート(例:"2.5MB")
  • パラメータの形式が無効な場合、エラーを返す
  • パラメータがNULLの場合、NULLを返す

サポートされている単位の表:

UnitNameBytes
BBytes1
kBKilobytes1024
MBMegabytes1024²
GBGigabytes1024³
TBTerabytes1024⁴
PBPetabytes1024⁵
EBExabytes1024⁶

Examples

  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 |
+-----------------------+

Keywords

PARSE_DATA_SIZE