SQL Server:RELICATE()中的LENGTH()

时间:2010-10-07 11:20:20

标签: sql-server replicate

我有一个包含LvlTitle列的SQL Server表。我需要在Lvl字段中的每个字符的标题前面插入一个“ - ”。

例如:如果Lvl = 111标题应为--- My Title

我只能编辑以下SQL字符串。不可能创建其他功能或类似功能。

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

我的问题是,LENGTH()函数在REPLICATE()函数内不起作用。有人知道为什么或如何解决这个问题吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

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

只需取Lvl列,然后将所有1的实例替换为您想要的任何字符,然后将Title连接到结果的末尾。

答案 1 :(得分:0)

试试这个。它适用于我 -

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