Je souhaite obtenir uniquement la colonne Time de DateTime à l'aide d'une requête SQL à l'aide de SQL Server 2005 et 2008
AttDate
==
2011-02-09 13:09:00
2011-02-09 14:10:00
Je voudrais cette sortie:
AttDate Time
==
2011-02-09 13:09:00 13:09
2011-02-09 14:10:00 14:10
SQL Server 2008:
select cast(AttDate as time) [time]
from yourtable
Versions précédentes:
select convert(char(5), AttDate, 108) [time]
from yourtable
En supposant que le serveur SQL
SELECT CONVERT(VARCHAR(8),GETDATE(),108)
SQL Server 2008+ a un type de données "time"
SELECT
..., CAST(MyDateTimeCol AS time)
FROM
...
Pour les versions antérieures, sans conversions varchar
SELECT
..., DATEADD(dd, DATEDIFF(dd, MyDateTimeCol, 0), MyDateTimeCol)
FROM
...
La méthode la plus simple pour obtenir l'heure à partir de la date et l'heure sans pile milliseconde est la suivante:
SELECT convert(time(0),getDate())
Essayez d'utiliser ceci
Date à l'heure
select cast(getdate() as time(0))
Temps à minuscule
select cast(orig_time as time(0))
Essaye ça:
select convert(nvarchar,CAST(getdate()as time),100)
select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName
J'utilise souvent ce script pour obtenir l'heure de DateTime:
SELECT CONVERT(VARCHAR(9),RIGHT(YOURCOLUMN_DATETIME,9),108) FROM YOURTABLE
Pour obtenir l'heure de datetime, nous pouvons utiliser
SELECT CONVERT(VARCHAR(20), GETDATE(), 114)
select cast (as time(0))
serait un bon article. Par exemple:
(select cast(start_date as time(0))) AS 'START TIME'
Si vous voulez sortir avec quelque chose dans ce style: 23 octobre 2013 10h30
Utilisez ceci
SELECT CONVERT(NVARCHAR(30),getdate(), 100)
convert()
la méthode prend 3 paramètres
Obtenir la date du serveur
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7)) FROM TABLENAME WHERE ...
ou
Si elle est stockée dans la table
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), datename, 100), 7)) FROM TABLENAME WHERE ...
Résultat:
11h41