У меня есть столбец long_name. Мне нужно получить короткое имя для этого столбца. Сокращенное имя состоит из первого символа после «_» в длинном имени.String Matching Pattern в postgresql
Например: значение параметра long_name: '_Michael_Smith' должно привести к 'MS' short_name значение параметра long_name: '_Michael_John_Smith' должно привести к SHORT_NAME 'MJS'
можно получить первый символ с помощью: подстроку (значение параметра long_name из position ('_' в long_name) +1 для 1) как short_name.
Как я могу получить оставшиеся символы в запросе?
По соображениям производительности вам, вероятно, следует просто добавить новый столбец и определить краткое имя программным путем. Это подразумевает синхронизацию значений между двумя столбцами, но запросы, вероятно, будут выполняться намного быстрее. Другая возможность - определить значение программно «на ходу» на основе результатов запроса. Если вы решили использовать только один столбец и вам нужно короткое имя в результатах запроса, вы можете попробовать использовать regexp_replace: http://www.postgresql.org/docs/current/static/functions-matching.html –