2
votes

heure et date de varchar

Je veux convertir NVarchar en heure et date à l'aide de la commande de colonne de mise à jour dans le serveur SQL

update  dbo.timeconvert set Duration = time(Duration_Load) , Estimated_Date_of_Arrival = date(Estimated_Date_of_Arrival)

Je veux mettre à jour le tableau horaire avec le type de données heure et date en conséquence dans la colonne suivante. p >

 CREATE TABLE [dbo].[timeconvert](
[sno] [int] NULL,
[Duration_Load] [nvarchar](7) NULL,
[Duration] [time](7) NULL,
[Estimated_Date_of_Arrival_Load] [nvarchar](10) NULL,
[Estimated_Date_of_Arrival] [date] NULL )

INSERT [dbo].[timeconvert] VALUES  (1, N'03:26', NULL, N'29.01.2019', NULL) ,(2, N'02:45', NULL, N'30.01.2019', NULL),(3, NULL, NULL, N'03.02.2019', NULL),(4, N'10.25', NULL, N'11.02.2019', NULL)

Le résultat attendu doit correspondre au format du type de colonne


0 commentaires

3 Réponses :


1
votes

utilisez les fonctions cast () et convert ()

update  dbo.timeconvert set Duration = CONVERT( TIME, Duration_Load ), Estimated_Date_of_Arrival 
= cast(Estimated_Date_of_Arrival as date)


0 commentaires

1
votes

Veuillez essayer ceci.

UPDATE dbo.timeconvert 
SET Duration = CONVERT( TIME, Duration_Load ), Estimated_Date_of_Arrival = CONVERT(DATE,Estimated_Date_of_Arrival_Load)


3 commentaires

Passer en dessous de l'erreur Msg 241, niveau 16, état 1, ligne 27 La conversion a échoué lors de la conversion de la date et / ou de l'heure à partir de la chaîne de caractères.


Veuillez remplacer la longueur du type de données [Estimated_Date_of_Arrival_Load] [nvarchar] (10) par [Estimated_Date_of_Arrival_Load] [nvarchar] (100)


toujours j'obtiens la même erreur



3
votes

Vous pouvez essayer ceci:

UPDATE dbo.timeconvert
SET Duration = REPLACE(Duration_Load,'.',':'),
    Estimated_Date_of_Arrival  = SUBSTRING(Estimated_Date_of_Arrival_Load,4,2)+'/'+LEFT(Estimated_Date_of_Arrival_Load,2)+'/'+RIGHT(Estimated_Date_of_Arrival_Load,4)


1 commentaires

Vous pouvez essayer ceci .... SELECT [sno], [Duration_Load], LEFT ([Duration], 5) AS [Duration], [Estimated_Date_of_Arrival_Load], [Estimated_Date_of_Arrival] FROM DBO. [Timeconvert]