SQL Server Compact Edition 12-часовой формат времени - PullRequest
0 голосов
/ 26 сентября 2018

Я искал в любом месте, но я не могу найти решение моей проблемы.Я работаю с SQL Server Compact Edition, использую SQL Management Studio 2008 и работаю с форматами времени.

Я хочу, чтобы тип данных datetime возвращал 12-часовой формат.Пока у меня есть это:

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

Это дает такой результат: 14: 43: 05

Как мне добиться 12-часового формата для этого?любая помощь, пожалуйста?Примечание. Для SQL Server Compact Edition 2008

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Вы должны использовать правильный стиль, например, 100

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

=> 2:00pm

Оригинальный ответ: преобразование времени в 12-часовой формат в sql

0 голосов
/ 26 сентября 2018

Самое близкое, что я мог прийти к ответу, использует маску формата 109:

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

enter image description here

Если вы не хотите эти доли секунды,тогда мы можем попробовать использовать подстроку и конкатенацию:

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

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

enter image description here

...