Niestety nie znam się na MsSQL, na pewno musisz kombinować z funkcją CONVERT.
Nie wiem dla kogo to robisz... Jeśli dla siebie lub niedużej firmy to może warto pomyśleć nad darmowym rozwiązaniem jak MySQL, czy Postgres.
Jeśli chodzi o scalanie tego na poziomie Delphi to już nic prostszego, po prostu wyciągnięte dane (godziny, minuty sekundy) zamieniasz na stringi
Procedure TChildForm.Button1Click(Sender: TObject);
Var
Czas : String;
H, M, S : Byte;
Begin
Query.Close; {zamyka kwerendę}
Query.SQL.Clear; {czyści}
Query.SQL.Add ('SELECT H, M, S FROM Tabela_Logowan WHERE idLogowanie='''+Edit1.text+''''); {tu jest kwerenda dla MySQL, musisz wstawić odpowiednik dla MSSQL}
Query.Open; {otwiera kwerende i wyswietla dane}
Query.First; {może być tylko jeden rekord o tym ID, ale na wszelki wypadek bierzemy pierwszy}
H := Query.FieldByName('Godziny').AsInteger;
M := Query.FieldByName('Minuty').AsInteger;
S := Query.FieldByName('Sekundy').AsInteger;
Czas: IntToStr(H) + '-' + IntToStr(M) + '-' + IntToStr(S);
ShowMessage('Czas dla Logowania o ID ='Edit1.text+' to: '+Czas);
End;
Możliwe że da się prościej, ale nie zaglądałem od jakiegoś czasu do baz danych.