2011-03-17 89 views
1

我有字符串,其中包含三行我如何從sqlserver中的字符串中檢索第一行。從字符串返回第一行

外匯:

declare @Str as nvarchar(200) 

Set @Str='This is for test'+char(10)+ 
     ' second line'+char(10)+ 
     'Third line' 

insert into some test table. 

我怎麼可以retrive從這個第一行。

回答

1
SELECT SUBSTRING(@Str,0,CHARINDEX(char(10),@Str)) 

編輯:如果你也只有一行文字,你可以使用一個CASE:

SELECT CASE WHEN CHARINDEX(char(10),@Str)=0 THEN @Str 
    ELSE SUBSTRING(@Str,0,CHARINDEX(char(10),@Str)) END 
+0

某些情況下,字符串可能只有一行,如果它不會返回任何字符串? – Nag 2011-03-17 07:49:39

+0

@Nag在這種情況下添加了一個選擇 – 2011-03-17 07:54:18

+0

感謝它完美的作品。 – Nag 2011-03-17 07:59:02

0

試試這個:

select Note_Sets.cNoteCode, 
    SUBSTRING(Note_Sets.cScript,1,CHARINDEX(char(10),Note_Sets.cScript)) as cFirstLine 
from dbo.Note_Sets 

既可以使用CHAR(10)或字符(13)。