2010-10-07 11 views
1

我有一個SQL Server表,其中列LvlTitle。我需要在Lvl字段中的每個字符的標題前面插入一個「 - 」。SQL Server:REPLICATE()中的LENGTH()

舉個例子:如果Lvl = 111的標題應該成爲--- My Title

我只能編輯下面的SQL字符串。沒有可能創建其他功能或類似。

SELECT REPLICATE('_', { fn LENGTH(Lvl) }) + ' ' + Title AS Title 
FROM Documents 

我的問題是,該LENGTH()功能不會在REPLICATE()功能內工作。有誰知道爲什麼或如何解決這個問題?

謝謝。

+1

你在做一個函數或存儲過程嗎?您的代碼在查詢分析器中適用於我。你使用的是什麼版本的SQL Server? – LittleBobbyTables 2010-10-07 11:32:33

+0

對此有何更新? – LittleBobbyTables 2010-10-08 14:14:29

回答

1

試試這個:

SELECT REPLACE(Lvl, '1', '-') + ' ' + Title as Title 
FROM Documents 

乾脆把Lvl列,並與你想要的任何字符替換1所有實例,然後串聯標題到結果的末尾。

0

試試這個。它適用於我 -

select REPLICATE('-',LEN(Lvl)) + ' ' + Title as title from documents 
+0

LEN()在我使用的版本中沒有功能...只要它不在REPLICATE()函數內,LENGTH()函數就可以工作。 – user276289 2010-10-07 11:32:08

+1

@ user276289 - 你能說出你正在使用哪個版本的sql server。我已經在SQL server 2005上測試過了。你對問題的選擇對我來說工作正常。 – 2010-10-07 11:33:16