Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sql server使用连字符作为分隔符将datetime转换为varchar_Sql Server_Tsql_Sql Server 2008 R2 - Fatal编程技术网

Sql server sql server使用连字符作为分隔符将datetime转换为varchar

Sql server sql server使用连字符作为分隔符将datetime转换为varchar,sql-server,tsql,sql-server-2008-r2,Sql Server,Tsql,Sql Server 2008 R2,我想转换此SQL Server 2008 R2datetime值: 06/30/2013 09:25:35.000 到 我们还没能在网上找到解决办法。基本上,我想返回一个字符串,以便在脚本中使用 我可以用这个获得日期部分,但不确定如何获得我需要的格式 CONVERT(nvarchar(30), my_date_time, 103) AS Expr1 谢谢你的帮助 超级丑陋,但您可以通过嵌套replace函数来实现这一点: replace( replace( replace( replace(

我想转换此SQL Server 2008 R2
datetime
值:

06/30/2013 09:25:35.000

我们还没能在网上找到解决办法。基本上,我想返回一个字符串,以便在脚本中使用

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

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

谢谢你的帮助

超级丑陋,但您可以通过嵌套
replace
函数来实现这一点:

replace(
replace(
replace(
replace(convert(nvarchar(30), my_date_time, 103) ,'/','_')
, ' ', '_')
, ':', '_')
, '.', '_')

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

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

关键是:

脚本在这方面可能比sql Server更好谢谢jtseng!很好!
select replace(replace(replace(replace(
        CONVERT(nvarchar(30), getdate(), 110) + ' ' +
        CONVERT(nvarchar(30), getdate(), 14),
        '-', '_'),
        ' ', '_'),
        ':', '_'),
        '.', '_')