code: public boolean getInternalBoolean(ColumnInformation columnInfo) throws SQLException {
      if (lastValueWasNull()) {
        return false;
      }
      switch (columnInfo.getColumnType()) {
        case BIT:
          return parseBit() != 0;
        case TINYINT:
          return getInternalTinyInt(columnInfo) != 0;
        case SMALLINT:
        case YEAR:
          return getInternalSmallInt(columnInfo) != 0;
        case INTEGER:
        case MEDIUMINT:
          return getInternalMediumInt(columnInfo) != 0;
        case BIGINT:
          return getInternalLong(columnInfo) != 0;
        case FLOAT:
          return getInternalFloat(columnInfo) != 0;
        case DOUBLE:
          return getInternalDouble(columnInfo) != 0;
        case DECIMAL:
        case OLDDECIMAL:
          return getInternalBigDecimal(columnInfo).longValue() != 0;
        default:
          final String rawVal = new String(buf, pos, length, StandardCharsets.UTF_8);
          return !("false".equals(rawVal) || "0".equals(rawVal));
      }
    }
docs: Get boolean from raw binary format.
  
  @param columnInfo column information
  @return boolean value
  @throws SQLException if column type doesn't permit conversion