2011-03-17 99 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)。