SQL Server Convertir Varchar Datetime
j'ai ce format de date: 2011-09-28 18:01:00 (varchar), et je veux le convertir en datetime changer pour ce format 28-09-2011 18:01:00. Comment puis-je le faire?
9 réponses
SELECT CONVERT(Datetime, '2011-09-28 18:01:00', 120) -- to convert it to Datetime
SELECT CONVERT( VARCHAR(30), @date ,105) -- italian format [28-09-2011 18:01:00]
+ ' ' + SELECT CONVERT( VARCHAR(30), @date ,108 ) -- full date [with time/minutes/sec]
Comme ceci
DECLARE @date DATETIME
SET @date = '2011-09-28 18:01:00'
select convert(varchar, @date,105) + ' ' + convert(varchar, @date,108)
le site Web montre plusieurs options de formatage.
Exemple:
SELECT CONVERT(VARCHAR(10), GETDATE(), 105)
Vous pouvez avoir tous les différents styles de datetime conversion
:
http://www.w3schools.com/sql/func_convert.asp
ceci a une plage de valeurs: -
CONVERT(data_type(length),expression,style)
pour les valeurs de style,
Choisis qui tu veux comme j'ai besoin de 106.
avec tout ce qui existe, ma réponse a un lien spécifique vers le site d'aide pour que même un débutant puisse s'y référer. C'est la façon plus utile
SELECT CONVERT(VARCHAR(10), GETDATE(), 105) + ' ' + CONVERT(VARCHAR(10), GETDATE(), 108)
vous pouvez le faire de cette façon mais il le laisse comme un varchar
declare @s varchar(50)
set @s = '2011-09-28 18:01:00'
select convert(varchar, cast(@s as datetime), 105) + RIGHT(@s, 9)
ou
select convert(varchar(20), @s, 105)
comme il a été dit, datetime n'a pas de format/chaîne de format de représentation.
vous pouvez changer la sortie de chaîne de caractères avec un formatage.
Pour convertir votre chaîne datetime:
declare @date nvarchar(25)
set @date = '2011-09-28 18:01:00'
-- To datetime datatype
SELECT CONVERT(datetime, @date)
Donne:
-----------------------
2011-09-28 18:01:00.000
(1 row(s) affected)
pour convertir cela à la chaîne que vous voulez:
-- To VARCHAR of your desired format
SELECT CONVERT(VARCHAR(10), CONVERT(datetime, @date), 105) +' '+ CONVERT(VARCHAR(8), CONVERT(datetime, @date), 108)
Donne:
-------------------
28-09-2011 18:01:00
(1 row(s) affected)
ci-dessous
select Convert(Varchar(50),yourcolumn,103) as Converted_Date from yourtbl
web a quelques bons exemples pour convertir n'importe quelle varchar à date ou datetime