PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Какъв е еквивалентът на encode(, 'escape') PostgreSQL в java?

Искате ли масив от низове или искате asdad\000asdasd\000 ? Работите ли с масив от байтове или действителен низ?

Масив от низ към байт (ако работите с низ)

String str = "\x61736461640061736461736400"
str = str.substring(2); //get rid of \x
byte [] bytes = new byte[str.length()/2];
for(int i = 0; i < result.length; i++) {
  String numberStr = str.substring(i*2,i*2+2);
  int numberInt = Integer.parseInt(numberStr);
  bytes[i] = (byte) numberInt;
}

байтов масив към String ArrayList

ArrayList<String> result = new ArrayList<String>();
int startIndex = 0;
for(int i = 0; i < bytes.length; i++) {
  if(bytes[i] == 0) {
    if(startIndex > i) {
      byte [] stringBytes = new byte[i - startIndex];
      for(int j = startIndex; j < i; j++) {
        stringBytes[j-startIndex] = bytes[j];
      }
      result.add(new String(stringBytes, "US-ASCII"));
    }
    startIndex = i+1;
  }
}

байтов масив към осмичен екраниран низ

DecimalFormat formatter = new DecimalFormat("000");
StringBuilder resultBuilder = new StringBuilder();
for(byte b : bytes) {
  if(b > 0) {
    char c = (char) b;
    resultBuilder.append(c);
  } else {
    int bInt = b & 0xFF;
    String octal = Integer.toString(bInt, 8);
    int numPadZeroesNeeded = 3 - octal.length();
    resultBuilder.append('\');
    for(int i = 0; i < numPadZeroesNeeded; i++) {
      resultBuilder.append('0');
    }
    resultBuilder.append(octal);
  }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да UPSERT (СЛИВАНЕ, ВМЕСВАНЕ ... ПРИ ДУБЛИРАНЕ НА АКТУАЛИЗИРАНЕ) в PostgreSQL?

  2. Postgres where клауза сравнява времево клеймо

  3. Могат ли няколко нишки да причинят дублиращи се актуализации на ограничен набор?

  4. йерархична сума в PostgreSQL

  5. PostgreSQL математически функции