我试图返回以下子字符串,它的逗号分隔[只有一个逗号]
City-City-City, State-State-State
有时它只是一个城市和州,有时它不止一个[或两者]
基本上,我需要返回状态首字母传递逗号。 最好的方法是什么?我正在研究子字符串函数,但这看起来并不聪明。我发现了一个分离功能,但它看起来有点矫枉过正,我不喜欢使用我不理解的代码。
例如:
Cincinnati-Middletown, OH-KY-IN
Cleveland-Elyria-Mentor, OH
Abilene, TX
输出:
OH-KY-IN
OH
TX
感谢您的回答;感谢Sonam的出发点,我想通了。 这就是我得到的。 Haven没有调查它,但它似乎返回了正确的东西。
select substring(CBSAName,charindex(',',CBSAName)+1, LEN(CBSAName)) FROM CBSAMasterList
答案 0 :(得分:7)
select substring('Abilene, TX',charindex(',','Abilene, TX')+2,2)
答案 1 :(得分:1)
<强>描述强>
MySQL SUBSTRING_INDEX()在指定的分隔符出现次数之前返回给定字符串中的子字符串。
当指定的数字为正数时,从最终分隔符的左侧返回的子字符串,当指定的数字为负数时,从最终分隔符的右侧返回。
如果指定的数字大于分隔符的出现次数,则返回的子字符串将是总字符串。如果指定的数字为0,则不会从给定的字符串中提取任何内容。 语法
SUBSTRING_INDEX(str, delim, count)
<强>参数强>
**Name Description
str A string.
delim A delimiter.
count An integer indicating the number of occurrences of delim.**
Example : MySQL SUBSTRING_INDEX() function
以下MySQL语句返回最终分隔符左侧的子字符串,即给定字符串“www.mytestpage.info”中的第二个分隔符(。)。计数从字符串的左边开始。
SELECT SUBSTRING_INDEX('www.mytestpage.info','.',2);