格式化查询输出:使用sql或php函数?

时间:2012-05-09 10:25:29

标签: php mysql sql format

我想知道是否有关于SQL输出格式化的最佳实践。 在PHP方面或在SQL语句本身中执行此操作更好吗? 我的SGBD是MySQL。

4 个答案:

答案 0 :(得分:1)

“格式化”是什么意思?

如果您的问题是关于显示数据的方式(数据格式,货币格式等),请使用PHP进行格式化。格式化是表示层的责任。

如果您需要一些额外的计算,或者如果需要聚合结果(如摘要),最好的方法通常是使用数据库功能。您不需要将大量数据传输到应用程序服务器,而是节省内存和处理器。

答案 1 :(得分:1)

除非你的格式影响排序(见下文),否则你可能更擅长在PHP中进行所有格式化。

  • 传递复杂/格式化的数据虽然所有应用程序层都会让您陷入困境。您应该在将它们显示给用户之前传递简单/原始值并对其进行格式化。这样,您可以将这些值用于其他目的,而不仅仅是用于显示。

您希望在SQL中格式化数据的主要原因是影响项目选择或订单,例如:

SELECT complex_expression(x) as fx FROM t ORDER BY fx LIMIT 20
  • 在返回的数据集中以某种方式限制或命令数据时,在SQL中进行数学运算非常有用。如果你认为你可以在PHP中做同样的事情,你可能会这样做,但在SQL中通常要容易得多。

答案 2 :(得分:0)

取决于您需要何种格式。 在MySQL中做数学。比使用类似的PHP函数更快。 如果你需要基本的日期格式,你可以在MySQL中进行,如果你需要高级格式化,你最好用PHP做。

答案 3 :(得分:0)

我使用mysql作为小逻辑,例如你需要计算,添加和这些东西..

如果你需要计算复杂的计算,我会使用PHP来不重载SQL服务器