@Override
    public List<String> getInsertParamsValue() {
        List<SQLInsertStatement.ValuesClause> valuesList = ast.getValuesList();
        List<String> list = new ArrayList<>();
        for (SQLInsertStatement.ValuesClause m : valuesList) {
            String values = m.toString().replace("VALUES", "").trim();
            // when all params is constant or have default value, the length of values less than 1
            if (values.length() > 1) {
                values = values.substring(1, values.length() - 1);
            }
            list.add(values);
        }
        return list;
    }
@Test
    public void testGetInsertParamsValue() {
        String sql = "INSERT INTO t(a) VALUES (?)";
        SQLStatement ast = getSQLStatement(sql);
        SqlServerInsertRecognizer recognizer = new SqlServerInsertRecognizer(sql, ast);
        Assertions.assertEquals("?", recognizer.getInsertParamsValue().get(0));

        String sql_2 = "INSERT INTO t(a) VALUES ()";
        SQLStatement ast_2 = getSQLStatement(sql_2);
        SqlServerInsertRecognizer recognizer_2 = new SqlServerInsertRecognizer(sql_2, ast_2);
        Assertions.assertEquals("", recognizer_2.getInsertParamsValue().get(0));

        String sql_3 = "INSERT INTO T1 DEFAULT VALUES";
        SQLStatement ast_3 = getSQLStatement(sql_3);
        SqlServerInsertRecognizer recognizer_3 = new SqlServerInsertRecognizer(sql_3, ast_3);
        Assertions.assertTrue(recognizer_3.getInsertParamsValue().isEmpty());
    }