显示数据集第一个单词的长度

时间:2017-03-01 15:13:06

标签: sql sql-server

您好我在尝试切换FirstWordLength的输出时打印了每个第一个字输出到

的字符数量
 SELECT InvoiceLineItemDescription,
LEFT(InvoiceLineItemDescription, 
 CASE 
 WHEN charindex(' ', InvoiceLineItemDescription) = 0 THEN LEN(InvoiceLineItemDescription) 
 ELSE charindex(' ', InvoiceLineItemDescription) - 1 END)
 AS FirstWordLength
 FROM InvoiceLineItems
 ORDER BY FirstWordLength desc;

看起来应该是这样的:

InvoiceLineItemDescription     FirstWordLength
citi bank                          4

1 个答案:

答案 0 :(得分:6)

您可以使用nanosleep({20, 0}, NULL) = 0 获取第一个字长:

charindex()

在您的问题中,这假设只使用空格来分隔单词。您可以使用SELECT InvoiceLineItemDescription, CHARINDEX(' ', InvoiceLineItemDescription + ' ') - 1 as FirstWordLength FROM InvoiceLineItems ORDER BY FirstWordLength desc; 来支持更多分隔符。

代码中的PATINDEX()应该有效,但是您使用它来提取第一个单词,而不仅仅是长度。

相关问题