【发布时间】:2014-09-13 07:08:24
【问题描述】:
我有一个表格,其中有一列“modTime”格式化为日期时间。
要从此列中获取日期,我在 Select 中使用以下行,它返回格式为 DD MMM YYYY 的日期:
CONVERT(VARCHAR(11), G.modTime, 106) AS modTime
当日期与当前日期匹配时,有没有办法可以以不同的格式(如下所示)返回日期,否则只能使用上述格式?这会将日期返回为 Today at hh:mm。
('Today at ' + CONVERT(VARCHAR(5), G.modTime, 108)) AS modTime
当我单独使用它们时,这两种方式都有效,但我找不到使用 CASE 等组合它们的方法。
【问题讨论】:
-
这让我觉得应该由您的代码在 UI 端完成,而不是加载到 SQL 上。这不是一个坏问题,但如果您需要在 T-SQL 中执行此操作,您可能需要重新考虑您的架构。
-
谢谢。是的,我也可以在 PHP 中做到这一点,但我不确定这里有什么更好的方法。
-
@MatthewHaugen 你是对的,但我认为在数据库端这样做可能会给我们在 UI 端带来一些性能优势。
-
是的,我也是这么想的,尤其是。因为我必须一次选择多个日期。
标签: sql sql-server datetime select