您好我在尝试切换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
答案 0 :(得分:6)
您可以使用nanosleep({20, 0}, NULL) = 0
获取第一个字长:
charindex()
在您的问题中,这假设只使用空格来分隔单词。您可以使用SELECT InvoiceLineItemDescription,
CHARINDEX(' ', InvoiceLineItemDescription + ' ') - 1 as FirstWordLength
FROM InvoiceLineItems
ORDER BY FirstWordLength desc;
来支持更多分隔符。
代码中的PATINDEX()
应该有效,但是您使用它来提取第一个单词,而不仅仅是长度。