我的数据库表中有ProductId,ProductName,ProductDescription列。
我在ProductDescription
列中保存了很多信息,但是我只想在每种产品的输出中仅显示ProductDescription
的信息。
答案 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))