0

我想转换这个 SQL Server 2008 R2datetime值:

06/30/2013 09:25:35.000

06_30_2013_09_25_35_000

一直无法在网上找到解决方案。基本上我想返回一个字符串以在脚本中使用。

我可以用这个获得日期部分,但不确定如何获得我需要的格式?

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

谢谢您的帮助!

4

2 回答 2

2

您可以在将两种日期格式组合在一起后使用替换:

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

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

于 2013-06-30T00:42:59.357 回答
0

超级丑陋,但你可以通过嵌套replace函数来做到这一点:

replace(
replace(
replace(
replace(convert(nvarchar(30), my_date_time, 103) ,'/','_')
, ' ', '_')
, ':', '_')
, '.', '_')
于 2013-06-30T00:35:06.317 回答