The following may be one option, though no promises that it's the best option. You can change it as needed.
SELECT GETDATE(), CONVERT(VARCHAR(50),GETDATE(),107), DATEPART(hh,GETDATE()),
CASE WHEN DATEPART(hh,GETDATE()) > 12 THEN CONVERT(VARCHAR(5),DATEPART(hh,GETDATE())-12) + ' PM'
ELSE...