如何从陌生的sql中,只用java编程,找到from的所有表
时间: 2023-02-26 19:03:46 浏览: 40
您可以使用正则表达式在SQL语句中搜索"FROM"关键字,然后解析出后面所有的表名。代码示例如下:
```
String sql = "SELECT * FROM table1, table2 WHERE ...";
Pattern pattern = Pattern.compile("FROM\\s+(\\w+)(?:\\s*,\\s*\\w+)*");
Matcher matcher = pattern.matcher(sql);
if (matcher.find()) {
String tables = matcher.group(1);
String[] tableArray = tables.split(",");
for (String table : tableArray) {
System.out.println(table.trim());
}
}
```
这段代码将会输出:
```
table1
table2
```
请注意,这仅是一个简单的示例,实际上SQL语句可能比较复杂,需要更加复杂的正则表达式以支持更复杂的语法。
相关问题
java只用for循环输入数字输出中文
以下是Java代码实现:
```
import java.util.Scanner;
public class NumberToChinese {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String[] chineseNumbers = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
for (int i = 0; i < chineseNumbers.length; i++) {
if (n == i) {
System.out.println(chineseNumbers[i]);
break;
}
}
}
}
```
运行代码后,输入数字即可输出对应的中文。注意,此代码只能输入整数,并且只能输出0~9之间的数字对应的中文。如果要扩展到更大的数值范围,代码需要进行相应的修改。
SQL server 多个ISNULL只用一个函数怎么表达
在 SQL Server 中,可以使用嵌套ISNULL函数来实现多个ISNULL函数的效果。嵌套ISNULL函数的语法如下:
```
ISNULL(ISNULL(value1, value2), value3)
```
其中,如果value1为NULL,则返回value2;如果value1不为NULL,则返回value1。如果value1和value2都为NULL,则返回value3。
例如,假设我们有一个表格`employees`,其中有一个名为`salary`的列,如果该列的值为NULL,则需要将其替换成0。可以使用以下语句实现:
```
SELECT ISNULL(ISNULL(salary, 0), 0) AS salary FROM employees;
```
上述语句中,如果`salary`为NULL,则先将其替换为0,再将结果再次与0比较,如果还是NULL,则最终返回0。