我调查但找不到狡猾的信息。
哪里是数据转换的最佳位置,包括性能 考虑?在数据查询方面还是在Web服务器方面?
例如:我的数据库包含日期时间字段,我在不同格式的网页中显示它们。我可以在数据库查询中执行此操作,如:
CONVERT(VARCHAR, StartDate, 1) --mssql
DATE_FORMAT(last_update, '%d/%m/%y') -- mysql
TO_CHAR(sysdate, 'dd/mm/yy'); -- oracle
或在网络应用程序代码中:
date_format($date, 'd/m/y'); /*php*/
(new SimpleDateFormat("dd/MM/yy")).parse(date) /*jsp*/
#DateFormat(date, 'dd/mm/yy')# <!---coldfusion--->
date.ToString("dd/MM/yy") //asp.net
当然在Web代码日期变量中填充了日期/时间值,而没有在db查询中进行转换。另外值得一提的是,数据提取结果有很多记录。
注意:我对上述平台/语言并不专业,写下来吸引更多的回答者来概括这个问题。目前我对cf / mssql感兴趣。
答案 0 :(得分:3)
我无法评论事情的表现方面,尽管我认为无论如何都无关紧要。
从“工作就是工作”的角度来看,我认为需要以人性化的方式格式化日期数据是一种UI自负,而不是数据自负(如果你看到我的意思),因此DB应该只返回一个日期,它应该是CFML代码 - 它正在创建网页 - 以标记所需的方式格式化日期值。