ファイルを varbinary(MAX) として格納する db テーブルがあります。次のスクリプトを実行すると:
SELECT SUM(LEN(Content)) FROM dbo.File
結果は次のとおりです。
35398663
この数値をメガバイトに変換したいですか? これは可能ですか?
ファイルを varbinary(MAX) として格納する db テーブルがあります。次のスクリプトを実行すると:
SELECT SUM(LEN(Content)) FROM dbo.File
結果は次のとおりです。
35398663
この数値をメガバイトに変換したいですか? これは可能ですか?
次のように、バイト数を取得してから変換するために使用DATALENGTH
します。
MS SQL Server 2017 スキーマのセットアップ:
CREATE TABLE supportContacts
(
id int identity primary key,
type varchar(20),
details varchar(30)
);
INSERT INTO supportContacts
(type, details)
VALUES
('Email', 'admin@sqlfiddle.com'),
('Twitter', '@sqlfiddle');
クエリ 1 :
select *, gigabytes / 1024.0 as terabytes
from (
select *, megabytes / 1024.0 as gigabytes
from (
select *, kilobytes / 1024.0 as megabytes
from (
select *, bytes / 1024.0 as kilobytes
from (
select sum(datalength(details)) as bytes
from supportContacts
) a
) b
) c
) d
結果:
| bytes | kilobytes | megabytes | gigabytes | terabytes |
|-------|-----------|---------------|----------------|-------------------|
| 29 | 0.02832 | 0.00002765625 | 2.700805664e-8 | 2.63750553125e-11 |