ddevienne
ddevienne

Reputation: 1882

How to display blob value using x'abc' binary string literal syntax?

You can easily enter a blob value using the x'abc' syntax, but is there a way to display it that way too? As shown below, selecting directly, or implicitly converting to a string using concatenation doesn't work, and shows garbage (Windows DOS prompt here).

sqlite> create table blobs (uid blob);
sqlite> insert into blobs values (x'0123456789abcdef0123456789abcdef');
sqlite> select * from blobs;
☺#Egë½═∩☺#Egë½═∩
sqlite> select ''||uid from blobs;
☺#Egë½═∩☺#Egë½═∩

I'd like the select to display:

x'0123456789abcdef0123456789abcdef'

Thanks, --DD

Upvotes: 34

Views: 26840

Answers (1)

Mark Rushakoff
Mark Rushakoff

Reputation: 258368

select quote(uid) from blobs

returns:

X'0123456789ABCDEF0123456789ABCDEF'

and if you really need it in lowercase, you can use:

select lower(quote(uid)) from blobs

Upvotes: 63

Related Questions