如何獲得2005年中的日期時間格式HH:mm tt
部分時間從SQL Server如何獲得一部分時間從SQL Server 2005的日期時間的「HH:MM TT」格式
例如
11:25 AM
14:36 PM
如何獲得2005年中的日期時間格式HH:mm tt
部分時間從SQL Server如何獲得一部分時間從SQL Server 2005的日期時間的「HH:MM TT」格式
例如
11:25 AM
14:36 PM
一種方法是:
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))
如果你看看Books Online here,格式100是具有時間要素之一按照你想要的格式,這只是一個從正面剝離日期的情況。
select right(convert(char(20),getdate(),0),7)
不檢查雖然
你需要兩個轉換,一個得到HH:MM的時間,和一個讓AM/PM。例如:
declare @date datetime
set @date = '20:01'
SELECT CONVERT(VARCHAR(5), @date, 108) + ' ' +
SUBSTRING(CONVERT(VARCHAR(19), @date, 100),18,2)
此打印:
20:01 PM
在選擇查詢,請用你的列名@date。
我會用一個DatePart()和Case-Statement取代SubString()和Convert()。這也將使您更好地控制AM/PM的套數/大寫。即(當時的情況(HOUR,GETDATE())<12 THEN'am'ELSE'pm'END)你也可以在'am'和'pm'中包含空格,所以你也可以少一個連接。 – MikeTeeVee 2013-06-04 20:42:50
SQL Server 2008中
SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO
結果
HourMinuteSecond: 13:06:56.5770000
DateOnly: 2012-07-26
的SQL Server 2000/2005
SELECT
CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond,
CONVERT(VARCHAR(8),GETDATE(),101) AS DateOnly
GO
SQL Server 2008中
SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO
結果:
HourMinuteSecond: 13:06:56.5770000
DateOnly: 2012-07-26
的SQL Server 2000/2005
SELECT
CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond,
CONVERT(VARCHAR(8),GETDATE(),101) AS DateOnly
GO
select cast(getdate() as time)) [time],
答案不完整。編輯更有趣! – SoftDev 2013-06-07 11:20:18
SQL Sevrer 2005不支持'Time'類型,所以這個答案是完全錯誤的。 – 2017-01-26 08:13:24
select substring(CONVERT(VARCHAR, getdate(), 114),1,5)
resault:22:05
這給你一個實際的日期時間,而不是爲varchar
CAST(LEFT(YOURDATETIME,12) AS SMALLDATETIME) AS YOURNEWDATE
怎麼來的,你需要的AM/PM在HH:mm格式? – hallie 2010-07-08 07:30:04
看起來像是在您的應用程序代碼中更容易執行的操作。 – Oded 2010-07-08 07:31:23