mysql删除最后一个字符

时间:2014-10-16 16:42:57

标签: mysql string

你会认为这在某个地方得到了回答,但我找不到确切的答案。 我需要删除字符串中的最后一个字符,它可以是任何字符,字符串可以是任意长度。

示例992899d需要为992899

3 个答案:

答案 0 :(得分:12)

使用 SUBSTRING 的任何解决方案都只会通过删除最后一个字符来显示字段的内容。 它实际上不会更新列的内容。如果这是您想要的(即使用 SELECT ),那么 SUBSTRING 就足够了。

但是,如果您想实际更新列的值,您可以尝试以下操作:

Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle(null);
alert.setHeaderText(null);
alert.setGraphic(null);
alert.setContentText("Choose your option.");

ButtonType buttonTypeOne = new ButtonType("One");
ButtonType buttonTypeTwo = new ButtonType("Two");
ButtonType buttonTypeThree = new ButtonType("Three");

alert.getButtonTypes().setAll(buttonTypeOne, buttonTypeTwo, buttonTypeThree);

Optional<ButtonType> result = alert.showAndWait();
if (result.get() == buttonTypeOne) {
     System.out.println("One");
} else if (result.get() == buttonTypeTwo) {
     System.out.println("Two");
} else if (result.get() == buttonTypeThree) {
     System.out.println("Three");
}

这将替换最后一个没有任何内容的字符,因此最后一个字符将被删除。

参考:http://dev.mysql.com/doc/refman/5.7/en/string-functions.html

答案 1 :(得分:10)

您可能正在寻找SUBSTRING(column, 1, CHAR_LENGTH(column)-1)

请参阅http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring以供参考。

答案 2 :(得分:0)

使用TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM ] str),因为您已经知道要删除字符串的哪个部分。

这是一张表格,其中包含我从数据库中提取的日期和给定数量:

select date_format(date, '%m/%d %I:%i%p') as Date ...
Date        | QTY
-------------------
3/5 11:30AM | 46
3/5 11:30PM | 23
3/6 11:30AM | 12
...

使用修剪:

select trim(trailing 'M' from date_format(date, '%m/%d %I:%i%p')) as Date ...
Date        | QTY
-------------------
3/5 11:30A  | 46
3/5 11:30P  | 23
3/6 11:30P  | 12
...

感谢https://www.w3resource.com/mysql/string-functions/mysql-trim-function.php帮助我理解修剪