반응형
SQL Server 2005의 VARBINARY 필드 크기
다음에서 내용의 크기(바이트)를 결정하려고 합니다.VARBINARY(MAX)
SQL Server 2005 필드(SQL 사용)입니다.이에 대한 네이티브 지원이 없는 것 같은데 CLR 통합을 사용할 수 있습니까?어떤 아이디어라도 주시면 감사하겠습니다.
사실, 여러분은 T-SQL에서 이것을 할 수 있습니다!
DATALENGTH(<fieldname>)
효과가 있을 것입니다.varbinary(max)
밭
VARBINARY(MAX) 필드는 최대 2GB 크기의 가변 길이 데이터를 할당합니다.
DATALENGTH() 함수를 사용하여 열 내용의 길이를 결정할 수 있습니다.
예:
SELECT DATALENGTH(CompanyName), CompanyName
FROM Customers
CREATE FUNCTION [dbo].[FileDataSizeUnit_FN] (@FileData VARBINARY(MAX))
RETURNS VARCHAR(3)
AS
BEGIN
DECLARE @Unit VARCHAR(3),
@ByteLen AS NUMERIC(16,2)
SET @ByteLen = ISNULL(DATALENGTH(@FileData),0)
SET @Unit = CASE WHEN @ByteLen < 1000 THEN 'B'
WHEN @ByteLen < 100000 THEN 'KB'
WHEN @ByteLen < 1000000000 THEN 'MB'
ELSE 'GB' END
RETURN @Unit
END
GO
CREATE FUNCTION [dbo].[FileDataSize_FN] (@FileData VARBINARY(MAX))
RETURNS NUMERIC(16,2)
AS
BEGIN
DECLARE @Size AS NUMERIC(16,2),
@ByteLen AS NUMERIC(16,2)
SET @ByteLen = ISNULL(DATALENGTH(@FileData),0)
SET @Size = CASE WHEN @ByteLen <1000 THEN @ByteLen
WHEN @ByteLen < 100000 THEN @ByteLen/1024.0
WHEN @ByteLen < 1000000000 THEN @ByteLen/1024.0/1024
ELSE CAST(@ByteLen/1024.0/1024/1024 AS NUMERIC(16,2)) END
RETURN @Size
END
GO
SELECT dbo.FileDataSize_FN(F.FileData) AS Size,
dbo.FileDataSizeUnit_FN(F.FileData) AS SizeUnit
FROM dbo.Files_Tbl F
언급URL : https://stackoverflow.com/questions/507785/size-of-varbinary-field-in-sql-server-2005
반응형
'programing' 카테고리의 다른 글
Adonis 컨트롤러를 사용하여 만들어진 경로에서 Vue 구성 요소에서 axios 요청을 만들려면 어떻게 합니까? (0) | 2023.07.04 |
---|---|
반복적인 비동기 요청 시간 초과Spring Boot 관리 로그에서 예외 발생 (0) | 2023.07.04 |
개체 리터럴의 키를 유형 스크립트 유형으로 사용하시겠습니까? (0) | 2023.06.29 |
Meteor에 $currentDate to MongoDB 컬렉션이 있는 필드 삽입 (0) | 2023.06.29 |
목록 색인을 기준으로 판다 행 선택 (0) | 2023.06.29 |