Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 从字符串返回第一行_Sql Server 2005 - Fatal编程技术网

Sql server 2005 从字符串返回第一行

Sql server 2005 从字符串返回第一行,sql-server-2005,Sql Server 2005,我有一个字符串,它包含三行,我可以从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. 我怎么能从这里找到第一行 SELECT SUBSTRING(@Str,0,CHARINDEX(char

我有一个字符串,它包含三行,我可以从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.
我怎么能从这里找到第一行

SELECT SUBSTRING(@Str,0,CHARINDEX(char(10),@Str))
编辑:如果文本只有一行,则可以使用案例:

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

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

至少从Postgres 9.0开始:

SELECT split_part(some_column, E'\n', 1) from some_table

注意:
E
是将文本转义为a

所必需的。在某些情况下,字符串可能只有一行,在这种情况下它不会返回任何字符串?@Nag为该情况添加了一个select