web-dev-qa-db-fra.com

Comment obtenir une partie de temps à partir de SQL Server 2005 datetime au format «HH: mm tt»

Comment obtenir une partie de temps à partir de SQL Server 2005 datetime dans HH:mm tt format

Par exemple.

11:25 AM
14:36 PM
18
Azhar

Une façon est:

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))

Si vous jetez un oeil à Books Online here , le format 100 est celui qui a l'élément temps dans le format dans lequel vous le souhaitez, c'est juste un cas de suppression de la date du début.

26
AdaTheDev

Vous aurez besoin de deux convertis, un pour obtenir le temps HH: mm et un pour obtenir AM/PM. Par exemple:

declare @date datetime
set @date = '20:01'
SELECT CONVERT(VARCHAR(5), @date, 108) + ' ' +
       SUBSTRING(CONVERT(VARCHAR(19), @date, 100),18,2)

Cela imprime:

20:01 PM

Dans une requête de sélection, remplacez @date par le nom de votre colonne.

9
Andomar

SQL Server 2008

SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO

Résultat

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

http://blog.sqlauthority.com/2009/08/06/sql-server-get-time-in-hourminute-format-from-a-datetime-get-date-part-only-from- datetime /

7
select substring(CONVERT(VARCHAR, getdate(), 114),1,5)

resault: 22:05

2
test

SQL Server 2008

SELECT
CONVERT(TIME,GETDATE()) AS HourMinuteSecond,
CONVERT(DATE,GETDATE(),101) AS DateOnly
GO

Résultat:

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
2
M.Mohammadi
select cast(getdate() as time)) [time],
1

Cela vous donne un datetime réel et non varchar

CAST(LEFT(YOURDATETIME,12) AS SMALLDATETIME) AS YOURNEWDATE
1
Frank C

Vous devez utiliser la fonction CONVERT:

CONVERT(VARCHAR, yourdatetimefiled, 114) AS [HH:MI(12H)]
1
Anax
select right(convert(char(20),getdate(),0),7)

Pas de vérification cependant

0
Salil