【问题标题】:How do I remove seconds from date time in SQL query [duplicate]如何在 SQL 查询中从日期时间中删除秒数 [重复]
【发布时间】:2016-05-25 06:07:24
【问题描述】:

同一类型有几个 ex,但我认为这有点独特。

我的查询是:

select Convert(nvarchar(15),date,103)+ ' ' + LTRIM(RIGHT(CONVERT(CHAR(20),date, 22), 11))DC from Table1

结果是:

我在上面的结果中得到了正确的结果。我唯一需要的是格式应该09/11/2015 2:29 PM

有许多格式可以实现这一点,但用户不像更改任何其他格式。 提前谢谢你

【问题讨论】:

  • 如果您已经了解许多其他格式,但您的用户/客户不倾向于进行更改,您希望我们提供哪些帮助?
  • @Artur Opalinski:在相同的格式中,只需删除秒部分,如09/11/2015 2:29 PM
  • 您要返回日期时间还是字符串?
  • 你使用的SQL Server版本?
  • @shadow: 字符串和版本是 2008

标签: sql sql-server sql-server-2008 sql-server-2005


【解决方案1】:

试试这个:

   SELECT CONVERT(nvarchar, date, 101) + ' ' + left(RIGHT(CONVERT(nvarchar, date, 100), 7),5) + ' ' +RIGHT(CONVERT(nvarchar, date, 100), 2)

【讨论】:

  • 差不多,你能在分钟和下午之间留一个空格吗?以上查询显示如下09-11-2015 2:29PM
  • @VikramKumar 我已经更新了答案
  • @jelliaes- 完美
  • 这似乎不适用于所有情况。尝试上午 9:30 和上午 10:00。一位数与两位数的小时数会导致问题。
【解决方案2】:

试试看

SELECT CONVERT(VARCHAR,GETDATE(),101) + ' ' + RIGHT(CONVERT(VARCHAR,GETDATE(),0),7)DC from Table1

【讨论】:

  • 差不多,你能在分钟和下午之间留一个空格吗?以上查询显示如下09-11-2015 2:29PM
  • 选择格式(GETDATE(),'MM/dd/yyyy hh:mm tt')
  • @Shresthamir - FORMAT 是 SQL Server 2012 中的新功能。问题标记为 2008 年和 2005 年。
  • 对不起,我不知道 SQL Server 版本
【解决方案3】:

这样试试,

SELECT CONVERT(nvarchar, getdate(), 101) + ' ' + RIGHT(replace(replace(CONVERT(nvarchar, getdate(), 100),'PM',' PM'),'AM',' AM'), 6)

【讨论】:

    【解决方案4】:

    试试下面的 sql 查询。可能会有所帮助

    SELECT CONVERT(VARCHAR(11),GETDATE(),103)+ ' '+ REPLACE(REPLACE(CONVERT(varchar(15), CAST(GETDATE() AS TIME), 100), 'P', ' P'), 'A', ' A')
    

    【讨论】:

      【解决方案5】:

      对于 SQL Server 2008 R2 或更新版本

          select convert( varchar(10), getdate(), 103 )+' '+convert( varchar(5), convert( time, getdate() ) )
      -- 25/05/2016 09:58
      
          select convert( varchar(10), getdate(), 101 )+' '+convert( varchar(5), convert( time, getdate() ) )
      -- 05/25/2016 09:59
      

      编辑

      select convert( varchar(10), getdate(), 103 )+' '+right( convert( varchar, getdate(), 100 ), 7 )
      -- 25/05/2016 10:13AM
      
          select convert( varchar(10), getdate(), 101 )+' '+right( convert( varchar, getdate(), 100 ), 7 )
      -- 05/25/2016 10:14AM
      

      【讨论】:

        猜你喜欢
        • 2017-09-09
        • 2021-05-23
        • 2015-10-13
        • 1970-01-01
        • 2019-05-25
        • 2013-07-04
        • 1970-01-01
        • 2018-12-14
        相关资源
        最近更新 更多