T-SQL: Selecting top n characters from a text or ntext column(T-SQL:从 text 或 ntext 列中选择前 n 个字符)
问题描述
考虑这样一个场景,您希望从表中提取最后 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 个字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:T-SQL:从 text 或 ntext 列中选择前 n 个字符
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- 更改自动增量起始编号? 2021-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- SQL 临时表问题 2022-01-01
