当前位置: 首页 > 知识库问答 >
问题:

从字符串SQL中选择最长的字

韦绍晖
2023-03-14

假设我有一个有2列的表:name和number。Name是一个字符串,可以有一个或多个单词,我想要一个新的查询选择名称编号,但在Name列,它只有最长的词,原来的表。

SQL中是否有一个函数只从字符串中提取最长的单词?

共有1个答案

茅曾琪
2023-03-14

此过程返回短语pass like参数的第一个最长单词。

delimiter //

CREATE PROCEDURE getLongestWord(IN phrase VARCHAR(255), OUT w VARCHAR(255))

BEGIN
  DECLARE i INT DEFAULT 1;
  DECLARE maxIteration INT DEFAULT 1;

  DECLARE wordIndex INT DEFAULT 1;
  DECLARE maxLength INT;
  DECLARE proxLength INT;

  SELECT LENGTH(phrase) - LENGTH(replace(phrase,' ','')) + 1 INTO maxIteration;
  
  SELECT LENGTH(SUBSTRING_INDEX(phrase, ' ', i)) INTO maxLength;

  WHILE i < maxIteration DO
    SET i = i + 1;
    SELECT LENGTH(SUBSTRING_INDEX(SUBSTRING_INDEX(phrase, ' ', i), ' ', - 1)) INTO proxLength;
    
    IF (maxLength < proxLength) THEN
        SET maxLength = proxLength;
        SET wordIndex = i;
    END IF;
    
  END WHILE;

    SET w = SUBSTRING_INDEX(SUBSTRING_INDEX(phrase, ' ', wordIndex), ' ', - 1);
  
END //

delimiter ;

要使用它:

CALL `getLongestWord`('one two three four five six seven eight nine ten', @p1); SELECT @p1 AS `w`;

返回:“three”(因为最长的单词有5个字母,这是其中的第一个)

 类似资料:
  • 问题内容: 我有一个可变长度的列表,正在尝试寻找一种方法来测试当前正在评估的列表项是否是列表中包含的最长字符串。我正在使用Python 2.6.1 例如: 当然,有一个简单的列表理解功能很简短,但我却忽略了它? 问题答案: 从Python文档本身,您可以使用:

  • 问题内容: 在视图中,我有一个列 注释 ,其中可能包含大字符串。我只想选择前60个字符,并在所选字符串的末尾附加’ … ‘。 为了选择前60个字符,我使用了以下查询: 现在,我希望其处理如下: 检查它是否包含60个以上的字符。 如果包含,则仅选择前6个字符,并在末尾附加三个点。 如果它不包含超过60个字符,则选择整个字符串,而不在末尾附加三个点。 谢谢 问题答案: 要有条件地检查字符串的长度,请使

  • 问题内容: 我正在做一个从列表中返回最长字符串值的函数。当只有一个包含最多字符的字符串时,我的代码有效。如果有多个字符串,我尝试使其打印所有最长的字符串,并且我不希望重复它们。当我运行它时,它只返回“ hello”,而我希望它也返回“ ohman”和“ yoloo”。我觉得问题就在眼前,但是我已经尝试了所有方法,但是没有用。 问题答案: 首先 ,我们可以在列表中找到任何字符串的最大长度: 一点解释

  • 我需要从变量中选择最后两个字符,无论是数字还是字母。 例如: 我想显示变量中字符串的最后两个字母。

  • 问题内容: 我在SQL数据库中有一个字符串,表示一个URL。有些网址很短,有些很长。我真的不知道这是我可能遇到的最长的URL,所以为了安全起见,我会采用较大的值,例如256或512。 当我定义最大字符串长度时(例如,使用SQLAlchemy): 即使实际的字符串较短,这是否也会占用每一行的空间(存储空间)? 我假设这与实现细节有关。我正在使用postgreSQL,但对sqlite和mysql也很感

  • 问题内容: 使用ajax调用,我返回了页面的partialView HTML,但是在显示之前,我希望从主div中获取信息。如果我创建一个浮动窗口,这些数据只是大小信息。 码: 将鼠标悬停在partialViewDom上时,我可以在chrome调试器中看到数据,但是类选择似乎无效。有什么线索吗?它解析不正确吗?谢谢。 问题答案: 尝试使用代替元素,很可能您的元素是dom片段中的顶级元素。