code: public static String getSQLColumnTypes(DbaseFileHeader header, boolean isH2Database) throws IOException {
          StringBuilder stringBuilder = new StringBuilder();
          for(int idColumn = 0; idColumn < header.getNumFields(); idColumn++) {
              if(idColumn > 0) {
                  stringBuilder.append(", ");
              }
              String fieldName = TableLocation.capsIdentifier(header.getFieldName(idColumn), isH2Database);
              stringBuilder.append(TableLocation.quoteIdentifier(fieldName,isH2Database));
              stringBuilder.append(" ");
              switch (header.getFieldType(idColumn)) {
                  // (L)logical (T,t,F,f,Y,y,N,n)
                  case 'l':
                  case 'L':
                      stringBuilder.append("BOOLEAN");
                      break;
                  // (C)character (String)
                  case 'c':
                  case 'C':
                      stringBuilder.append("VARCHAR(");
                      // Append size
                      int length = header.getFieldLength(idColumn);
                      stringBuilder.append(String.valueOf(length));
                      stringBuilder.append(")");
                      break;
                  // (D)date (Date)
                  case 'd':
                  case 'D':
                      stringBuilder.append("DATE");
                      break;
                  // (F)floating (Double)
                  case 'n':
                  case 'N':
                      if ((header.getFieldDecimalCount(idColumn) == 0)) {
                          if ((header.getFieldLength(idColumn) >= 0)
                                  && (header.getFieldLength(idColumn) < 10)) {
                              stringBuilder.append("INT4");
                          } else {
                              stringBuilder.append("INT8");
                          }
                      } else {
                          stringBuilder.append("FLOAT8");
                      }
                      break;
                  case 'f':
                  case 'F': // floating point number
                  case 'o':
                  case 'O': // floating point number
                      stringBuilder.append("FLOAT8");
                      break;
                  default:
                      throw new IOException("Unknown DBF field type " + header.getFieldType(idColumn));
              }
          }
          return stringBuilder.toString();
      }
docs: Return SQL Columns declaration
  @param header DBAse file header
  @param isH2Database true if H2 database
  @return Array of columns ex: ["id INTEGER", "len DOUBLE"]
  @throws IOException