На протяжении многих лет я привык (не совсем уверен, хорошо это или плохо, отчасти причина вопроса) использовать условные выражения для форматирования или групповые функции, а также функции даты для форматирования даты.
Примеры:
// Grouping: get total goals & assists for each player (1 = goal, 2,3 = assist)
SUM(IF(scoreType=1,1,0)) AS goals, SUM(IF(scoreType=2,1,IF(scoreType=3,1,0))) AS assists
// Date formatting:
DATE_FORMAT(gameDate, '%b %e') AS displayDate
// Text formatting:
IF(gameType='S','(S)','') AS gameTypeDisplay
Хорошо бы продолжить, как есть, но я перехожу к системе на основе ORM, где "select *" является значением по умолчанию, а замена поля (для достижения вышеизложенного), хотя и возможна, просто вносит полный беспорядок вещи, когда у вас есть несколько условий для обработки в вашем запросе (в основном лучше иметь чистый, читаемый SQL или ORM DSL, но не смешивать их, imo).
Итак, каковы затраты на перемещение, скажем, условного форматирования текста выше уровня промежуточного программного обеспечения? например 1000 строк результатов запроса; цикл, и применять условно для каждой строки?
По сути, я бы хотел очистить код слоя промежуточного программного обеспечения / ORM и разгрузить функции удобства SQL, но только если я не собираюсь перетаскивать сервер на медленную работу, поскольку уровень промежуточного программного обеспечения выполняет тонны дополнительной обработки.
Настройка сервера - это 32-разрядная версия CentOS 5, JVM (промежуточное программное обеспечение Groovy) с MySQL 5 и более поздних версий.