Search code examples
sqlitesqlitestudio

Update query to append zeroes into blob field with SQLiteStudio


I'm trying to append zeroes to a blob field in a sqlite3 db. What I tried is this:

UPDATE Logs
SET msg_buffer =  msg_buffer || zeroblob(1)
WHERE msg_id = 'F0'

As you can see, the field name is "msg_buffer", and what I want is to append byte zero. It seems that the concat operator || doesn't work. How could I achieve this?


Solution

  • Reading the doc link posted by Googie (3.2. Affinity Of Expressions), I managed to find the way:

    UPDATE Logs
    SET msg_buffer =  CAST(msg_buffer || zeroblob(1) AS blob)
    WHERE msg_id = 'F0'
    

    The CAST operator can take the expression with the concatenate operator and force the blob affinity.