Get size for Bytea column in postgreSQL

Jag*_*esh 4 postgresql

I have table for store file information. File content is stored in column (column datatype is bytea in PostgreSQL). Now I want to get file content size, based on bytea column data.

In SQL Server, I am able to get by using below query:

select convert(nvarchar(50),DATALENGTH(FileDataInVarbinary)/ 1048576.0 ) +' MB' as FileSize from Table_FileInfo
Run Code Online (Sandbox Code Playgroud)

Could you suggest me, how we can write in postgreSQL for same above sql query.

a_h*_*ame 13

您可以使用该length()函数获取以字节为单位的长度:

select length(bytea_column) as filesize
from file_info;
Run Code Online (Sandbox Code Playgroud)

如果要格式化输出,可以使用 pg_size_pretty()

select pg_size_pretty(length(bytea_column)) as filesize
from file_info;
Run Code Online (Sandbox Code Playgroud)

这将根据大小调整“kb”、“mb”输出。如果你总是想要 MB,你可以使用:

select concat(length(bytea_column) / 1048576.0, ' MB') as filesize
from file_info;
Run Code Online (Sandbox Code Playgroud)