2014-02-20 144 views
1

我正在使用SQL Server向Ms Word文檔形成文件名。格式如下 clientnumber_date_time_clientname.doc。時間格式和字符串格式

問題是Ms Word不接受10:19:23時間格式作爲文件名。如何將其更改爲10-19-23格式?

在某些情況下,clent名稱是這樣的:「可口可樂」公司。顯然,Ws Word不接受「(雙引號)」標記作爲文件名,我試圖通過'replace'將它改爲'(單引號)'標記,但沒有成功。 「到 'XXX'?

在此先感謝

這裏是代碼

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

地方一些code.it可以幫助理解你想要做什麼。 – Shell

回答

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' 

運行此查詢,你會得到完全相同的文件e你的期望。

+0

這似乎是最好的解決方案。謝謝 –

+0

還有一個問題,我怎樣才能寫出不像上面的代碼,但以其他方式(可能它有unicode數字或類似的東西)的引號(「)? –

+0

你能否更詳細地解釋一下,沒有得到你的問題 – PSK

0

您可以使用REPLACE爲:

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