SQL:组合文本字段的前两行

时间:2014-05-27 18:32:23

标签: sql-server

对于MS SQL Server数据库中的每条记录,都有一个文本字段。我们想结合这个文本字段的前两行。我曾尝试在这个网站和Microsoft technet上进行研究,我不知道在SQL中编写它的正确方法。但是,我相信逻辑如下:


将文本复制到从原始列到新列的char(13)

在新列中,将char(13)替换为

从原始列

删除文本,直到char(13)

将新列中的文本与“|”连接起来“

将旧列加入新列的右侧


我如何将其写为查询?谢谢。数据库类型:MS SQL Server 2008 R2

2 个答案:

答案 0 :(得分:0)

在你想要的select语句中:

  • 检查文本列的char(13)的charindex

  • 一旦你知道char(13)的位置,
  • 再创建该列的substring

使用这两个功能,你会得到你想要的东西=)

示例:

select SUBSTRING ( [YourTextColumn] ,0, CHARINDEX (char(13), [YourTextColumn] , 0 ) )
from YourTable

这将为您提供该列的第一行。您也可以检查第二行,只需更改charindex函数的起始位置。

答案 1 :(得分:0)

SELECT  REPLACE(SUBSTRING(ColumnName, 0,
                          CHARINDEX(CHAR(13), ColumnName,
                                    CHARINDEX(CHAR(13), ColumnName, 0) + 1)),
                CHAR(13), '')
FROM    TableName