Certamente si potra fare molto meglio,
ma io con SQLServer 2008 R2 sono riuscito ad arrivare solo a quanto sotto .......
Formato Nvarchar oppure DateTime
per il formato Time con la mia limitatezza non riesco
codice:
SELECT
Id,
c1,
c2,
Ora,
RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6) AS Base,
LEFT(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 2) + N':' + SUBSTRING(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 3, 2) + N':' + RIGHT(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 2) AS Nvar1,
CAST(LEFT(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 2) + N':' + SUBSTRING(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 3, 2) + N':' + RIGHT(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 2) AS Nvarchar) AS Nvar2,
CAST(LEFT(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 2) + N':' + SUBSTRING(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 3, 2) + N':' + RIGHT(RIGHT(N'000000' + CAST(Ora AS Nvarchar), 6), 2) AS datetime) AS DatTi
FROM
dbo.T1
;
Magari verrà in soccorso qualcuno più esperto
.