SQL,如何在没有使用新行的情况下使用Char(10)/ Char(13)对文本进行子串

时间:2016-11-16 12:22:38

标签: sql

在DB中 - 只有1列和1行。

使用查询:

SUBSTRING(p.notes,0,CHARINDEX(CHAR(13)+CHAR(10), p.notes ,1)) as name

当列中有两行时,一切正常。 如果只有一行,没有换行或输入(CHAR(13)+CHAR(10)),我会收到NULL

如何解决?

2 个答案:

答案 0 :(得分:1)

只需在字符串末尾添加一个\ r \ n,即可确保始终至少有一个\ r \ n:

SUBSTRING(p.notes, 0, CHARINDEX(CHAR(13) + CHAR(10), p.notes + CHAR(13) + CHAR(10), 1)) as name

答案 1 :(得分:0)

使用案例构造:

select case when p.notes like '%char(10) + char(13)%' then your code
else p.notes end as name