考虑这样一个场景,您希望从表中提取最后 x 个条目.我们想要的列包含有关产品的推荐.出于性能原因,我们只想从推荐中获取前 50 个字符.该列名为 TestimonialText,类型为 text.
Consider a scenario where you'd like to pull the last x entries from a table. The column we want contains testimonials about a product. For performance reasons, we only want to grab the first 50 characters from the testimonial. The column is named TestimonialText and is of type text.
考虑这个 T-SQL 的精简片段:
Consider this condensed snippet of T-SQL:
SELECT TOP 10
C.FirstName + ' ' + C.LastName AS CustomerName
,LEFT(C.TestimonialText,50) AS TestimonialSnippet
,C.TestimonialDate
FROM Customer AS C
ORDER BY C.TestimonialDate DESC
这会产生一个错误:
参数数据类型文本无效左函数的参数 1.
Argument data type text is invalid for argument 1 of left function.
问题:如何只提取 text 或 ntext 列的前几个 n 个字符?
Question: how to extract just the first few n characters of the text or ntext column?
我认为 SUBSTRING 是更好的选择.试试这个:
I think SUBSTRING would be a better choice. Try this:
SELECT TOP 10
C.FirstName + ' ' + C.LastName AS CustomerName
,SUBSTRING(C.TestimonialText,1,50) AS TestimonialSnippet
,C.TestimonialDate
FROM Customer AS C
ORDER BY SUBSTRING(C.TestimonialText,1,50) DESC
这篇关于T-SQL:从 text 或 ntext 列中选择前 n 个字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
将每个子标记转换为具有多个分隔符的单列-SQLConverting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(将每个子标记转换为具有多个分隔符的单列-SQ
如何从多个表创建视图?How can I create a view from more than one table?(如何从多个表创建视图?)
根据前一行内的计算值创建计算值Create calculated value based on calculated value inside previous row(根据前一行内的计算值创建计算值)
如何将表格的前两列堆叠成一列,但也仅将第三How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何将表格的前两列堆
递归 t-sql 查询Recursive t-sql query(递归 t-sql 查询)
将月份名称转换为日期/月份编号(问题和答案的组Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(将月份名称转换为日期/月份编号(问题和答案的组合