如何在以下输出之间获得空间

时间:2017-01-30 10:38:35

标签: sql sql-server

select replace(substring(CONVERT(varchar,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30'),100),13,
LEN(CONVERT(varchar,SYSDATETIMEOFFSET(),100))), ' +05:30','')

我得到输出=>下午4点06

但我想输出=>下午4:06

我怎样才能得到这个输出?

4 个答案:

答案 0 :(得分:1)

使用此SELECT replace(substring(STUFF(CONVERT(varchar,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30'),100), 18,0,' '),13,LEN(CONVERT(varchar,SYSDATETIMEOFFSET(),100))), ' +05:30','');

而不是

select replace(substring(CONVERT(varchar,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30 '),100),13,
LEN(CONVERT(varchar,SYSDATETIMEOFFSET(),100))),' +05:30',' ')

答案 1 :(得分:1)

select replace(substring(CONVERT(varchar,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30 '),100),13,
LEN(CONVERT(varchar,SYSDATETIMEOFFSET(),100))),' +05:30',' ')

答案 2 :(得分:0)

下面的查询将为您提供预期的输出。

SELECT replace(substring(STUFF(CONVERT(varchar,SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30'),100), 18, 0, ' '),13,LEN(CONVERT(varchar,SYSDATETIMEOFFSET(),100))), ' +05:30','');

输出:下午4:22

答案 3 :(得分:0)

你可以使用东西

select STUFF(replace(substring(CONVERT(varchar(50),SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30'),100),13, LEN(CONVERT(varchar,SYSDATETIMEOFFSET(),100))), ' +05:30',''),6,0,' ')

它将填充第6个位置的空格,替换0个字符。