2014-11-20 4 views
0

Привет Мой вопрос уже задавал hereформата Postgresql() Функция альтернативной

Но я не нашел там ответа в этой связи. Я не хочу, чтобы какой-либо инструмент выполнял мои требования. Я ищу простую процедуру или запрос. В этой связи кто-то ответил на процедуру search_columns(). Прямо сейчас я использую postgresql 9.0.4. Может ли Гуру Postgresql там ответить? problem

Также есть альтернатива для функции format() для 9.1 ниже версий. Я вижу, что функция format() поддерживается в версиях postresql 9.1 и выше. Может ли кто-нибудь сказать мне, как использовать функцию формата или любую альтернативу функции форматирования для версий 9.0 или ниже.

Заранее спасибо

+0

насчет этого ответа: http://stackoverflow.com/a/5350405/330315 –

ответ

1

На старых версиях вы должны вместо этого использовать quote_ident и quote_literal с конкатенации операций.

например.

format('SELECT %I FROM %I WHERE %I = %L', col1, tbl, col2, val) 

становится

'SELECT '||quote_ident(col1)||' FROM '||quote_ident(tbl)||' WHERE '||quote_ident(col2)||' = '||quote_nullable(val); 
+1

Почти идеальный, но '% L' должны быть заменены на' quote_nullable() ' http://www.postgresql.org/docs/current/static/functions-string.html#FUNCTIONS-STRING-FORMAT – pozs

+0

@pozs Хороший улов. –

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