从字符串返回第一行
问题描述:
我有字符串,其中包含三行我如何从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从这个第一行。
答
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
答
试试这个:
select Note_Sets.cNoteCode,
SUBSTRING(Note_Sets.cScript,1,CHARINDEX(char(10),Note_Sets.cScript)) as cFirstLine
from dbo.Note_Sets
既可以使用CHAR(10)或字符(13)。
某些情况下,字符串可能只有一行,如果它不会返回任何字符串? – Nag 2011-03-17 07:49:39
@Nag在这种情况下添加了一个选择 – 2011-03-17 07:54:18
感谢它完美的作品。 – Nag 2011-03-17 07:59:02