34

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

1 Answer 1

63
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
Sign up to request clarification or add additional context in comments.

2 Comments

sqlite3 doesn't work: select quote(uid) from test; quote(id) '☺#Egë½═∩☺#Egë½═∩'
@simpleuser Using SQLite 3.45.3, I cannot reproduce the issue you describe in your comment. Is it still valid?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.