Standard Time to Military Time I am somewhat new to SQL and I have seemingly simple query but I can't seem to figure out the correct combination of functions. We receive time data from an external source as a five-character string, for example "0500p". I want to convert this string into military time. The format required for output is a five character string, for example "17:00". 
I have tried 

SELECT CONVERT(CHAR(5),STD_TM,108)


but I think it's not recognizing my "time" as a time since it just outputs the same thing I put in.
You shouldn't care about whether it's 17:00 or 5:00 PM. How SQL Server ends up storing the time is irrelevant (formatting is for the presentation tier) - you should be focusing on converting the data to the right time value and storing it as the right data type (in this case probably datetime, but in modern versions of SQL Server, just time).

DECLARE @s char(5) = '0500p', @x datetime;

-- first convert it to a datetime-friendly format
SELECT @x = STUFF(@s,3,0,':') + 'm';

-- now some options for output:
SELECT @x, CONVERT(CHAR(5), @x, 108);


Results:

1900-01-01 17:00:00.000        17:00


Be sure that you consider formatting the value as a string only in the presentation tier. It's not really SQL Server's job to handle formatting for display, and your client tools are better suited for that translation anyway.