DECLARE @size int;
SELECT @size=8192;
SELECT STR(@size/CASE WHEN @size<1024 THEN 1
ELSE POWER(1024,ROUND(LOG(@size)/LOG(1024),0,1)) END )
+ SUBSTRING('KMGT',CAST(ROUND(LOG(@size)/LOG(1024),0,1) as bigint),1);
GO
8K
ストアドプロシージャ登録
CREATE FUNCTION bigintToSIByte(@size BIGINT) RETURNS varchar(255) AS
BEGIN
RETURN STR(@size/CASE WHEN @size<1024 THEN 1
ELSE POWER(1024,ROUND(LOG(@size)/LOG(1024),0,1)) END )
+ SUBSTRING('KMGT',CAST(ROUND(LOG(@size)/LOG(1024),0,1) as bigint),1);
END
GO
SELECT dbo.bigintToSIByte(8192);
GO
8K