我正在尝试获取所有具有特殊字符和数字的名称。我想知道是否有更好的方法来编写此查询。感谢
select Name from TABLE1
WHERE NAME LIKE '%-%'
OR NAME LIKE '%$%'
OR NAME LIKE '%4%' etc
答案 0 :(得分:0)
试试这个:
SELECT Name FROM Test WHERE REGEXP_LIKE(Name,'(-|$|4)');
| (OR或Alternation)运算符允许表达式返回true,如果值包含' - '或'$'或'4'等。
答案 1 :(得分:0)
使用方括号来定义字符类。还有一个完整的正则表达式,用于将模式锚定到字符串的开头,任意数量的任何字符,然后是由短划线或4或1美元符号组成的字符类,然后是锚定到字符串末尾的任意数量的任何字符: / p>
private static double getLatitude(double distance, double lat, double angle) {
return toDegrees(asin(sin(toRadians(lat)) * cos(distance / RADIUS) + cos(toRadians(lat)) * sin(distance / RADIUS) * cos(toRadians(angle))));
}
private static double getLongitude(double distance, double lat, double lng, double angle) {
double newLat = getLatitude(distance, lat, angle);
return toDegrees(toRadians(lng) + atan2(sin(toRadians(angle)) * sin(distance / RADIUS) * cos(toRadians(lat)), cos(distance / RADIUS) - sin(toRadians(lat)) * sin(toRadians(newLat))));
}