繁体   English   中英

SQL:Substring 右起

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM