diff --git a/rdbms/StmtTest.cpp b/rdbms/StmtTest.cpp
index 390ac7abddb410f50360e0aa7149fa366e1fa9b8..a599bd5477d0311c3fedb90fd6432bb86d43a983 100644
--- a/rdbms/StmtTest.cpp
+++ b/rdbms/StmtTest.cpp
@@ -71,6 +71,7 @@ std::string cta_rdbms_StmtTest::getCreateStmtTestTableSql() {
       "  UINT32_COL UINT32TYPE,"                                     "\n"
       "  UINT64_COL UINT64TYPE,"                                     "\n"
       "  STRING_COL VARCHAR(100),"                                   "\n"
+      "  BLOB_COL   BLOBTYPE,"                                      "\n"
       "  BOOL_COL   CHAR(1) DEFAULT '0',"                            "\n"
       "  CONSTRAINT STMT_TEST_PK PRIMARY KEY(ID),"                   "\n"
       "  CONSTRAINT BOOL_COL_BOOL_CK CHECK(BOOL_COL IN ('0', '1'))"  "\n"
@@ -85,18 +86,21 @@ std::string cta_rdbms_StmtTest::getCreateStmtTestTableSql() {
       utils::searchAndReplace(sql, "UINT32TYPE", "NUMERIC(10, 0)");
       utils::searchAndReplace(sql, "UINT64TYPE", "NUMERIC(20, 0)");
       utils::searchAndReplace(sql, "VARCHAR", "VARCHAR2");
+      utils::searchAndReplace(sql, "BLOBTYPE", "RAW(200)");
       break;
     case Login::DBTYPE_SQLITE:
       utils::searchAndReplace(sql, "UINT8TYPE", "INTEGER");
       utils::searchAndReplace(sql, "UINT16TYPE", "INTEGER");
       utils::searchAndReplace(sql, "UINT32TYPE", "INTEGER");
       utils::searchAndReplace(sql, "UINT64TYPE", "INTEGER");
+      utils::searchAndReplace(sql, "BLOBTYPE", "BLOB(200)");
       break;
     case Login::DBTYPE_POSTGRESQL:
       utils::searchAndReplace(sql, "UINT8TYPE", "NUMERIC(3, 0)");
       utils::searchAndReplace(sql, "UINT16TYPE", "NUMERIC(5, 0)");
       utils::searchAndReplace(sql, "UINT32TYPE", "NUMERIC(10, 0)");
       utils::searchAndReplace(sql, "UINT64TYPE", "NUMERIC(20, 0)");
+      utils::searchAndReplace(sql, "BLOBTYPE", "BYTEA");
       break;
     case Login::DBTYPE_NONE:
       {
@@ -181,6 +185,47 @@ TEST_P(cta_rdbms_StmtTest, insert_with_bindDouble) {
   }
 }
 
+TEST_P(cta_rdbms_StmtTest, insert_with_bindBlob) {
+  using namespace cta::rdbms;
+
+  const std::string insertBlob = "\x00\x01\x02\x03\n\t\t\0\0\0\0";
+
+  // Insert a row into the test table
+  {
+    const char *const sql =
+      "INSERT INTO STMT_TEST(" "\n"
+      "  ID,"                  "\n"
+      "  BLOB_COL)"          "\n"
+      "VALUES("                "\n"
+      "  1,"                   "\n"
+      "  :BLOB_COL)";
+    auto stmt = m_conn.createStmt(sql);
+    stmt.bindBlob(":BLOB_COL", insertBlob);
+    stmt.executeNonQuery();
+  }
+
+  // Select the row back from the table
+  {
+    const char *const sql =
+      "SELECT"                     "\n"
+      "  BLOB_COL AS BLOB_COL" "\n"
+      "FROM"                       "\n"
+      "  STMT_TEST";
+    auto stmt = m_conn.createStmt(sql);
+    auto rset = stmt.executeQuery();
+    ASSERT_TRUE(rset.next());
+
+    {
+      const auto selectValue = rset.columnBlob("BLOB_COL");
+
+      ASSERT_EQ(insertBlob, selectValue);
+    }
+
+    ASSERT_FALSE(rset.next());
+  }
+}
+
+
 TEST_P(cta_rdbms_StmtTest, insert_with_bindDouble_null) {
   using namespace cta::rdbms;