代码之家  ›  专栏  ›  技术社区  ›  ddevienne

如何使用x'abc'二进制字符串文字语法显示blob值?

  •  27
  • ddevienne  · 技术社区  · 17 年前

    您可以使用x'abc'语法轻松地输入一个blob值,但是有没有一种方法也可以这样显示它?如下图所示,直接选择或使用串联隐式转换为字符串不起作用,并显示垃圾(此处显示Windows DOS提示)。

    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ë½═∩
    

    我希望选择显示:

    x'0123456789abcdef0123456789abcdef'
    

    谢谢,DD

    1 回复  |  直到 17 年前
        1
  •  48
  •   Mark Rushakoff    17 年前
    select quote(uid) from blobs
    

    返回:

    X'0123456789ABCDEF0123456789ABCDEF'
    

    如果你真的需要小写,你可以使用:

    select lower(quote(uid)) from blobs
    
    推荐文章