你会认为这在某个地方得到了回答,但我找不到确切的答案。 我需要删除字符串中的最后一个字符,它可以是任何字符,字符串可以是任意长度。
示例992899d需要为992899
答案 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帮助我理解修剪