转换后的datetime上的字符串操作为varchar t-sql

时间:2011-03-03 16:29:33

标签: sql sql-server tsql

我有一个smalldatetime字段我正在转换为varchar(工作正常)现在我想在select查询中剪切它只返回时间而不是日期。

convert(varchar, [DTMON_F]) as mondayFrom

这将返回“2011年2月28日上午10:30”我想返回“上午10:30”

3 个答案:

答案 0 :(得分:1)

尝试RIGHT(CONVERT(VARCHAR, [DTMON_F]), 7)

http://msdn.microsoft.com/en-us/library/ms187928%28v=SQL.105%29.aspx

答案 1 :(得分:1)

您可以使用仅包含时间部分的预定义格式样式之一,例如:

convert(varchar, [DTMON_F], 108)
convert(varchar, [DTMON_F], 114)

如果他们给你一个合适的输出。

否则,您可以通过连接各种DATEPART函数调用的结果来创建自己的输出。

答案 2 :(得分:0)

有两种方式让人想起

select convert(varchar,[DTMON_F],8) as mondayFrom

将返回10:30:00(24小时格式)

select ltrim(right(convert(varchar,[DTMON_F]),7)) as mondayFrom

将于晚上10:30返回