メインコンテンツまでスキップ

PARSE_DATA_SIZE

説明

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

構文

PARSE_DATA_SIZE(<str>)

パラメータ

パラメータ説明
<str>単位付きデータサイズ文字列(例:「100MB」、「2.5GB」)。型:VARCHAR

戻り値

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

特殊なケース:

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

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

単位名前バイト
BBytes1
kBKilobytes1024
MBMegabytes1024²
GBGigabytes1024³
TBTerabytes1024⁴
PBPetabytes1024⁵
EBExabytes1024⁶

  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