【发布时间】:2018-08-31 04:47:38
【问题描述】:
在固定数量的字符之后,如何“截断”SQL 中短语中的每个单词?
例如:我想通过查询检索到这个数据
select descrizione
from mytable
所以都在同一列中。
FISIOPATOLOGIA DELLA RIPRODUZIONE UMANA
ODONTOIATRIA E STOMATOLOGIA
CHIRURGIA MAXILLO FACCIALE
像这样转换(如果超过 6 个字符则截断),仍然在一个列中:
FISIOL. DELLA RIPROD. UMANA
ODONTO. E STOMAT.
CHIRUR. MAXILL. FACCIA.
【问题讨论】:
-
您使用的是哪个版本的 SQL Server?如果您使用的是 SQL Server 2016,则可以从
STRING_SPLIT()开始很容易地做到这一点。 -
需要更多信息。什么是“截断”规则?其中一些词没有被截断。没有明显的所需字符数模式。
-
为什么所有的反对票?这实际上是一个很好且明确的问题。
-
@DDS 是您的示例数据一个完整的字符串,还是它们是表中的单独行?如果都是一个字符串,字符串中是否有换行符?
-
@HardCode 规则写得很清楚:取每个单词的前 6 个字符,如果单词较长,则 6 个字符在末尾添加一个点
标签: sql sql-server string tsql