2013-06-30 20 views
0

为varchar我想这个SQL Server转换2008 R2 datetime值:SQL服务器转换日期时间用连字符作为分隔符

06/30/2013 09:25:35.000 

06_30_2013_09_25_35_000 

一直没能找到解决办法在这个网上。基本上我想返回一个字符串在脚本中使用。

我可以得到这个日期部分,但不知道如何获得我需要的格式?

CONVERT(nvarchar(30), my_date_time, 103) AS Expr1 

感谢您的帮助!

+2

该脚本可能比sql server更好 – flup

回答

2

您可以使用组合两个日期格式后一起更换:

select replace(replace(replace(replace(
     CONVERT(nvarchar(30), getdate(), 110) + ' ' + 
     CONVERT(nvarchar(30), getdate(), 14), 
     '-', '_'), 
     ' ', '_'), 
     ':', '_'), 
     '.', '_') 

这里的小提琴:http://sqlfiddle.com/#!3/d41d8/16496

+0

谢谢jtseng!很棒! – Rob

0

超级难看,但你可以嵌套replace功能做到这一点:

replace(
replace(
replace(
replace(convert(nvarchar(30), my_date_time, 103) ,'/','_') 
, ' ', '_') 
, ':', '_') 
, '.', '_') 
相关问题