SQL Server Compact Edition 12 小时时间格式

Posted

技术标签:

【中文标题】SQL Server Compact Edition 12 小时时间格式【英文标题】:SQL Server Compact Edition 12 hour time format 【发布时间】: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。如果以下答案之一对您有所帮助,则应将其标记为正确。这是任何在本网站提出问题的用户的期望。 【参考方案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

【讨论】:

如果您认为该问题完全重复,那么您应该投票关闭它,而不是回答它。 我不能,没有足够的代表:-)

以上是关于SQL Server Compact Edition 12 小时时间格式的主要内容,如果未能解决你的问题,请参考以下文章

从 SQL Server Compact 4.0 迁移到 SQL Server Express 后提供程序错误

SQL Server 可以复制到 SQL Server Compact Edition 吗?

SQL Server Express 和 SQL Server Compact Edition

从使用 SQL Server Express 切换到 SQL Server Compact

SQL Server Compact Edition 和 SQL Server 2008 Management Studio

使用 SQL Server Compact 与专用 SQL Server 数据库的缺点