SQL中で文字列のバイト数を取得する関数はDBMSにより異なります.以下に各DBMSごとに使用可能な関数を示します.
| DBMS | SQL |
|---|---|
| Access | LENB |
| SQLServer | 存在しない |
| Oracle | LENGTHB |
| MySQL | LENGTH |
| OCTET_LENGTH | |
| PostgreSQL | OCTET_LENGTH |
ここでは各DBMSごとに文字列のバイト数を取得する方法を紹介します.
AccessはLENB関数を使用します.
SQLサンプル
LENB関数を使用して文字列のバイト数を取得する例を以下に示します.
SELECT LENB('チャーリー');
結果
| EXPR1000 |
|---|
| 10 |
OracleはLENGTHB関数を使用します.
SQLサンプル
LENGTHB関数を使用して文字列のバイト数を取得する例を以下に示します.
SELECT LENGTHB('スヌーピー')
結果
| SELECT LENGTHB('スヌーピー') |
|---|
| 10 |
MySQLはLENGTH関数かOCTET_LENGTH関数を使用します.2つの関数は名前が違うだけで機能は同一です.
SQLサンプル
LENGTH関数を使用して文字列のバイト数を取得する例を以下に示します.
SELECT LENGTH('ルーシー')
結果
| SELECT LENGTH('ルーシー') |
|---|
| 8 |
PostgreSQLはOCTET_LENGTH関数を使用します.
SQLサンプル
OCTET_LENGTH関数を使用して文字列のバイト数を取得する例を以下に示します.
SELECT OCTET_LENGTH('スヌーピー')
結果
| SELECT OCTET_LENGTH('スヌーピー') |
|---|
| 10 |