2013-03-08 5 views
25

Я хотел бы добавить некоторый текст в каждую ячейку в каждом столбце моей таблицы, чтобы действовать как символ для этого конкретного столбца. Например сказать, что моя таблица выглядит следующим образом (все поля символьного типа варьирования):Добавить текст в данные столбца в PostgreSQL

 
name age location 
james 45  france 
simon 33  usa 
ben  76  china 

Я хотел бы изменить его, чтобы быть:

 
name age location 
ajames b45  cfrance 
asimon b33  cusa 
aben  b76  cchina 

Кто-нибудь есть какие-либо предложения о том, как я могу сделай это?

+3

Причина этого в том, что я знал, что хотел бы символизировать данные с помощью букв, так как я буду выполнять какой-то процесс интеллектуального анализа данных в таблице, а код интеллектуального анализа данных, который у меня есть, имеет строки. –

ответ

39

Сначала вы должны преобразовать свой возраст, чтобы быть какой-то струной. После этого вы можете преобразовать значения, как это (конечно, вы должны сделать это для каждого поля):

update mytable set name = 'a' || name, age = 'b' || age; 

Это обновляет данные в таблице. Если вы хотите, только вывод на префикс можно использовать следующий подход:

select 'a' || name as name, 'b' || age as age from mytable; 

В этом случае нет необходимости преобразовывать тип данных возраста.

+0

Спасибо, это похоже на то, что я ищу! –

+2

он не работает, если начальное значение столбца равно null :( –

+0

Что вы подразумеваете под «нерабочим»? Любые сообщения об ошибках? Если вы ищете другое поведение, вы можете попробовать выполнить функцию concat: http: // www. postgresql.org/docs/9.1/static/functions-string.html –

Смежные вопросы