![](/img/trans.png)
[英]SQL: Substring until second character starting from right keeping left values
[英]SQL: Substring from the right
我试图找出一种方法来使用 substring function 或任何其他 function 从句子的右侧删除某些东西
例如:
Washington, USA
Michigan, USA
Tokyo, JAP
Seoul, KOR
因此,在上面的示例中,我想使用 function 删除 ', USA' 或 ', JAP'。 国家代码将始终为 3 个字母。 因此,要删除的总间距为 5(3 个字符,1 个空格和 1 个逗号)
如果您使用的是 MySQL,那么SUBSTRING_INDEX
可能是最简单的方法:
SELECT
'Washington, USA' AS state_country,
SUBSTRING_INDEX('Washington, USA', ',', 1) AS state
FROM dual;
如果您确定总间距为 5,则可以使用 SUBSTR function。 像这样:
SELECT SUBSTR("美国华盛顿", 1, CHAR_LENGTH("美国华盛顿") - 5);
LEFT 运算符用于在字符串左侧获取特定数量的字符。 这里的问题是你不知道你需要扮演多少角色。
您可以使用 LOCATE MySQL function(如果您实际使用 MySQL)来解决此问题。
SELECT LEFT("Washington, USA", LOCATE(",","Washington, USA")-1);
https://www.w3schools.com/sql/func_mysql_left.asp https://www.w3schools.com/sql/func_mysql_locate.asp
编辑:蒂姆的答案更好
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.