删除 MySQL 中字符串列的最后两个字符

发布于 2024-11-08 19:49:44 字数 236 浏览 0 评论 0原文

我有一列,其中的值是字符串。我需要在删除最后两个字符后显示这些值,例如 199902345 应变为 1999023

字符串的长度是可变的;它可以是 9、10、11 或任何字符长。

我尝试查看 TRIM 函数,但显然它只能删除指定的子字符串。就我而言,我不知道子字符串(最后两个字符)是什么。

什么 MySQL 字符串函数可以删除/删除/修剪字符串的最后两个字符?

I have a column where the values are strings. I need to display those values after removing the last two characters, e.g. 199902345 should become 1999023.

The length of the string is variable; it could be 9, 10, 11 or whatsoever characters long.

I tried looking into the TRIM function but apparently it can only remove the specified substring. In my case, I don't know what the substring (the last two characters) is.

What MySQL string function enables to remove/delete/trim the last two characters of a string?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

雨巷深深 2024-11-15 19:49:44

从字符串中选择除最后一个 n 之外的所有字符(或者换句话说,从字符串中删除最后 n 个字符);使用 SUBSTRINGCHAR_LENGTH< /a> 函数一起:

SELECT col
     , SUBSTRING(col FROM 1 FOR CHAR_LENGTH(col) - 2) AS col_trimmed -- ANSI Syntax
     , SUBSTRING(col,     1,    CHAR_LENGTH(col) - 2) AS col_trimmed -- MySQL Syntax
FROM tbl

要从字符串末尾删除特定子字符串,请使用 TRIM 函数:

SELECT col
     , TRIM(TRAILING '.php' FROM col)
-- index.php becomes index
-- index.php.php becomes index (!)
-- index.txt remains index.txt

To select all characters except the last n from a string (or put another way, remove last n characters from a string); use the SUBSTRING and CHAR_LENGTH functions together:

SELECT col
     , SUBSTRING(col FROM 1 FOR CHAR_LENGTH(col) - 2) AS col_trimmed -- ANSI Syntax
     , SUBSTRING(col,     1,    CHAR_LENGTH(col) - 2) AS col_trimmed -- MySQL Syntax
FROM tbl

To remove a specific substring from the end of string, use the TRIM function:

SELECT col
     , TRIM(TRAILING '.php' FROM col)
-- index.php becomes index
-- index.php.php becomes index (!)
-- index.txt remains index.txt
望喜 2024-11-15 19:49:44

为什么不使用 LEFT(string, length) 函数而不是子字符串?

LEFT(col, char_length(col) - 2)

您可以在此处了解有关 MySQL 字符串函数的更多信息: https:// /dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_left

Why not use the LEFT(string, length) function instead of substring?

LEFT(col, char_length(col) - 2)

You can learn more about MySQL String functions here: https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_left

智商已欠费 2024-11-15 19:49:44

您可以使用 LENGTH(that_string) 减去要在 SUBSTRING() 选择中删除的字符数,或者使用 TRIM() 函数。

You can use a LENGTH(that_string) minus the number of characters you want to remove in the SUBSTRING() select perhaps or use the TRIM() function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文