【问题标题】:SQL Server Compact Edition 12 hour time formatSQL Server Compact Edition 12 小时时间格式
【发布时间】:2018-09-26 07:04:52
【问题描述】:

一直在寻找任何地方,但我找不到任何解决我的问题的方法。我正在使用 SQL Server Compact Edition,我使用 SQL Management Studio 2008 并处理时间格式。

我想要一个日期时间数据类型返回 12 小时格式。到目前为止,我有这个:

SELECT 
    CONVERT(nvarchar(10), StartTime, 108) as timein
FROM TicketSales

它给出了这个结果:14:43:05

我怎样才能为此实现 12 小时格式?请问有什么帮助吗? 注意:对于 SQL Server Compact Edition 2008

【问题讨论】:

  • 欢迎来到 Stack Overflow。如果以下答案之一对您有所帮助,则应将其标记为正确。这是任何在本网站提出问题的用户的期望。

标签: sql-server-2008 sql-server-ce


【解决方案1】:

我最接近的答案使用格式掩码 109:

SELECT
    GETDATE() AS timestamp,
    RIGHT(CONVERT(nvarchar(26), GETDATE(), 109), 14) AS time;

如果您不想要那些小数秒,那么我们可以尝试使用子字符串和连接:

WITH cte AS (
    SELECT CONVERT(nvarchar(26), GETDATE(), 109) AS time
)

SELECT
    time,
    SUBSTRING(time, 13, 8) + RIGHT(time, 2) AS time
FROM cte;

【讨论】:

  • 去掉里面的秒数怎么样?
  • 使用SELECT RIGHT(CONVERT(nvarchar(26), GETDATE(), 100), 7) AS time ...但这不是您的问题似乎要求的输出,所以我没有在回答中解决这个问题。
  • 好的,谢谢。我很感激
【解决方案2】:

你必须使用正确的样式,比如 100

declare @mytime as Time = '14:00'
select CONVERT(varchar(15),@mytime,100)

=> 2:00pm

原答案: converting-a-time-into-12-hour-format-in-sql

【讨论】:

  • 如果您认为该问题完全重复,那么您应该投票关闭它,而不是回答它。
  • 我不能,没有足够的代表:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多