我创建了一个包含UNIQUE'mobile_no'的表
09727048248
9727048248
9824578564
9898998998
Run Code Online (Sandbox Code Playgroud)
然后我将检查手机号码是否有效,如果它有效,那么我想将其更改为正确的格式,如919727048248.
为此我称为更新查询,如..
update bccontacts
set mobile_no='919727048248'
where mobile_no=09727048248
Run Code Online (Sandbox Code Playgroud)
它第一次成功运行,但第二次回复
ERROR 1062(23000):密钥'mobile_no'的重复条目'919727048248'
因为'mobile_no'已经有一个唯一的密钥集.
那么还有其他任何查询IGNORE DUPLICATE KEY ON UPDATE吗?
我正试图从字符串中获取浮点数或整数.为此,这是我的测试用例..
1) str="IN100RINR" Output = 100;
2) str="IN100RINR" Output = 100;
3) str="100INR" Output = 100;
4) str="100.50INR" Output = 100.50;
5) str="IN100.50R" Output = 100.50;
6) str="INR100.50" Output = 100.50;
7) str="INR100INRINR20.500INR" Output = 100
Run Code Online (Sandbox Code Playgroud)
这一切都在我的程序中工作,但案例7不起作用..返回100.500
这是我的代码......
Pattern pattern = Pattern.compile("(\\d+)");
String str="INR100INRINR20.500INR", amount="", decimal="";
if(str.contains(".")){
String temp= str.substring(str.indexOf(".")+1);
Matcher matcher = pattern.matcher(temp);
if(matcher.find()){
decimal = matcher.group();
}
}
Matcher matcher = pattern.matcher(str);
if(matcher.find()){
if(decimal != ""){
amount=matcher.group()+"."+decimal;
}else{
amount = matcher.group();
}
System.out.println(Float.valueOf(amount));
}
Run Code Online (Sandbox Code Playgroud)