从SQL Server在屏幕上显示几行

时间:2019-01-14 10:37:42

标签: sql-server

我的数据库表中有ProductId,ProductName,ProductDescription列。

我在ProductDescription列中保存了很多信息,但是我只想在每种产品的输出中仅显示ProductDescription的信息。

1 个答案:

答案 0 :(得分:1)

您可以使用charindex()定位行尾序列,然后使用substring()获取第一个部分到第四行尾序列。如果文本并非总是以行尾序列结尾,则必须附加文本以保持一致。如果少于四行,则必须获得行结束序列的最大可能索引。

假设您的行结束序列为CRLF(DOS / Windows),则可能类似于:

substring(productdescription + char(13) + char(10),
          1,
          (SELECT max(ci)
                 FROM (SELECT charindex(char(13) + char(10),
                                        productdescription + char(13) + char(10)) ci
                       UNION ALL
                       SELECT charindex(char(13) + char(10),
                                        productdescription + char(13) + char(10),
                                        charindex(char(13) + char(10), productdescription + char(13) + char(10)) + 2) ci
                       UNION ALL
                       SELECT charindex(char(13) + char(10),
                                        productdescription + char(13) + char(10),
                                        charindex(char(13) + char(10),
                                                  productdescription + char(13) + char(10),
                                                  charindex(char(13) + char(10),
                                                            productdescription + char(13) + char(10)) + 2) + 2) ci
                       UNION ALL
                       SELECT charindex(char(13) + char(10),
                                        productdescription + char(13) + char(10),
                                        charindex(char(13) + char(10),
                                                  productdescription + char(13) + char(10),
                                                  charindex(char(13) + char(10),
                                                            productdescription + char(13) + char(10),
                                                            charindex(char(13) + char(10),
                                                                      productdescription + char(13) + char(10)) + 2) + 2) + 2) ci) x))