时间格式和字符串格式

时间:2014-02-20 06:25:39

标签: sql sql-server sql-server-2008-r2

我正在使用SQL服务器为Ms Word文档创建文件名。格式是这样的 clientnumber_date_time_clientname.doc。

问题是Word不接受10:19:23时间格式作为文件名。如何将其更改为10-19-23格式?

在某些情况下,名称是这样的:“可口可乐”公司。显然,Ws Word不接受“(双引号)标记作为文件名。我试图通过'替换'将其更改为'(单引号)标记,但它没有成功。如何更改”xxx “进入'xxx'?

提前致谢

这是该代码的一部分

convert(varchar,e.ExternalID)+'_'+left(convert(varchar,@Now,120),10) +'uved'+'_'+convert(varchar,a.OwnerName)+'.doc' as NameFile 

2 个答案:

答案 0 :(得分:1)

尝试使用以下代码。

DECLARE @CName varchar(100)
DECLARE @CNumber varchar(10)
SET @CNumber ='1234'
SET @CName = '"Coca Cola"'
SELECT @CNumber + '_' 
                + REPLACE(REPLACE(CONVERT(VARCHAR(19), GETDATE(), 120),':','-'),' ' ,'_') 
                + '_' 
                + REPLACE(@CName,'"','''') 
                + '.doc'

运行此查询,您将获得与您期望的完全相同的文件名。

答案 1 :(得分:0)

您可以使用REPLACE,如下所示:

SELECT REPLACE([column],'oldstring','newstring')
FROM [MyTable]