analytic clause

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@974 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-10-15 08:42:58 +00:00
parent 4e2e63d397
commit f0c29c44a8
2 changed files with 40 additions and 2 deletions
@@ -0,0 +1,30 @@
package com.alibaba.druid.bvt.sql.oracle;
import com.alibaba.druid.sql.ast.statement.SQLSelectStatement;
import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser;
import com.alibaba.druid.sql.test.TestUtils;
import junit.framework.Assert;
import junit.framework.TestCase;
public class OracleAnalyticTest extends TestCase {
public void test_isEmpty() throws Exception {
String sql = "SELECT last_name, salary, STDDEV(salary) OVER (ORDER BY hire_date) \"StdDev\" " +
"FROM employees " +
"WHERE department_id = 30;";
String expect = "SELECT last_name, salary, STDDEV(salary) OVER (ORDER BY hire_date) AS \"StdDev\"\n" +
"FROM employees\n" +
"WHERE department_id = 30;\n";
OracleStatementParser parser = new OracleStatementParser(sql);
SQLSelectStatement stmt = (SQLSelectStatement) parser
.parseStatementList().get(0);
String text = TestUtils.outputOracle(stmt);
Assert.assertEquals(expect, text);
System.out.println(text);
}
}