本文整理汇总了Python中sql_select.SqlSelect.parse方法的典型用法代码示例。如果您正苦于以下问题:Python SqlSelect.parse方法的具体用法?Python SqlSelect.parse怎么用?Python SqlSelect.parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sql_select.SqlSelect
的用法示例。
在下文中一共展示了SqlSelect.parse方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_group_by_case_when
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_group_by_case_when(self):
sql_select = SqlSelect.parse(
"SELECT * FROM symbol GROUP BY CASE WHEN price > 10 THEN 'high' ELSE 'low' END AS hl")
self.assertEqual(['hl'], sql_select.group_by.keys())
self.assertEqual(stypes.Case, type(sql_select.group_by['hl']))
sql_select = SqlSelect.parse(
"SELECT * FROM symbol GROUP BY ( CASE WHEN price > 10 THEN 'high' ELSE 'low' END) AS hl")
self.assertEqual(['hl'], sql_select.group_by.keys())
self.assertEqual(stypes.Case, type(sql_select.group_by['hl']))
示例2: test_not_like
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_not_like(self):
sql_select = SqlSelect.parse("SELECT * FROM symbol WHERE a NOT LIKE 'abc%'")
comparison = sql_select.where.tokens[-1]
self.assertEqual(stypes.Comparison, type(comparison))
self.assertEqual('NOT LIKE', comparison.operator)
self.assertEqual('a', str(comparison.left))
self.assertEqual("'abc%'", str(comparison.right))
示例3: test_bigger_than_function_expression
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_bigger_than_function_expression(self):
sql_select = SqlSelect.parse("SELECT * FROM symbol WHERE a > now() - INTERVAL '5 DAYS'")
comparison = sql_select.where.tokens[-1]
self.assertEqual(stypes.Comparison, type(comparison))
self.assertEqual('>', comparison.operator)
self.assertEqual('a', str(comparison.left))
self.assertEqual("now() - eval_datetime('INTERVAL', '5 DAYS')", str(comparison.right))
示例4: test_not_in
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_not_in(self):
sql_select = SqlSelect.parse('SELECT * FROM symbol WHERE a NOT IN (1,2,3)')
comparison = sql_select.where.tokens[-1]
self.assertEqual(stypes.Comparison, type(comparison))
self.assertEqual('NOT IN', comparison.operator)
self.assertEqual('a', str(comparison.left))
self.assertEqual('(1,2,3)', str(comparison.right))
示例5: test_is
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_is(self):
sql_select = SqlSelect.parse('SELECT * FROM symbol WHERE a IS NULL')
comparison = sql_select.where.tokens[-1]
self.assertEqual(stypes.Comparison, type(comparison))
self.assertEqual('IS', comparison.operator)
self.assertEqual('a', str(comparison.left))
self.assertEqual('NULL', str(comparison.right))
示例6: test_in
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_in(self):
sql_select = SqlSelect.parse("SELECT * FROM symbol WHERE symbol IN ('AAPL', 'GOOG')")
comparison = sql_select.where.tokens[-1]
self.assertEqual(stypes.Comparison, type(comparison))
self.assertEqual('IN', comparison.operator)
self.assertEqual('symbol', str(comparison.left))
self.assertEqual("('AAPL', 'GOOG')", str(comparison.right))
示例7: test_bigger_than
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_bigger_than(self):
sql_select = SqlSelect.parse('SELECT * FROM symbol WHERE a > 0')
comparison = sql_select.where.tokens[-1]
self.assertEqual(stypes.Comparison, type(comparison))
self.assertEqual('>', comparison.operator)
self.assertEqual('a', str(comparison.left))
self.assertEqual('0', str(comparison.right))
示例8: test_projection_is_wildcard
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_projection_is_wildcard(self):
sql_select = SqlSelect.parse('SELECT * FROM symbol')
self.assertEqual(['*'], sql_select.projections.keys())
self.assertEqual(ttypes.Wildcard, sql_select.projections['*'].ttype)
self.assertIsNone(sql_select.where)
self.assertEqual(dict(), sql_select.group_by)
self.assertEqual([], sql_select.order_by)
self.assertEqual([], sql_select.having)
self.assertIsNone(sql_select.limit)
示例9: test_projection_is_expression_without_function
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_projection_is_expression_without_function(self):
sql_select = SqlSelect.parse('SELECT a/2 AS abc FROM symbol')
self.assertEqual(['abc'], sql_select.projections.keys())
self.assertEqual(stypes.Expression, type(sql_select.projections['abc']))
self.assertEqual('a/2', str(sql_select.projections['abc']))
self.assertIsNone(sql_select.where)
self.assertEqual(dict(), sql_select.group_by)
self.assertEqual([], sql_select.order_by)
self.assertEqual([], sql_select.having)
self.assertIsNone(sql_select.limit)
示例10: test_projection_is_named
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_projection_is_named(self):
sql_select = SqlSelect.parse('SELECT COUNT(*) AS abc FROM symbol')
self.assertEqual(['abc'], sql_select.projections.keys())
self.assertEqual(stypes.Function, type(sql_select.projections['abc']))
self.assertEqual('COUNT', sql_select.projections['abc'].get_name())
self.assertEqual(ttypes.Wildcard, sql_select.projections['abc'].get_parameters()[0].ttype)
self.assertIsNone(sql_select.where)
self.assertEqual(dict(), sql_select.group_by)
self.assertEqual([], sql_select.order_by)
self.assertEqual([], sql_select.having)
self.assertIsNone(sql_select.limit)
示例11: test_group_by_function
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_group_by_function(self):
sql_select = SqlSelect.parse("SELECT * FROM symbol GROUP BY date_trunc('minute', ts) AS m")
self.assertEqual(['m'], sql_select.group_by.keys())
self.assertEqual(stypes.Function, type(sql_select.group_by['m']))
示例12: test_limit
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_limit(self):
sql_select = SqlSelect.parse('SELECT * FROM symbol LIMIT 1')
self.assertEqual(1, sql_select.limit)
示例13: test_join_one_field
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_join_one_field(self):
sql_select = SqlSelect.parse(
'SELECT * FROM quote JOIN matched_symbols ON quote.symbol = matched_symbols.symbol')
self.assertEqual('matched_symbols', sql_select.join_table)
self.assertTrue(len(sql_select.join_conditions) > 0)
示例14: test_order_by_desc
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_order_by_desc(self):
sql_select = SqlSelect.parse("SELECT * FROM symbol ORDER BY name DESC")
self.assertEqual(1, len(sql_select.order_by))
self.assertEqual('name DESC', str(sql_select.order_by[0]))
示例15: test_single_year_month
# 需要导入模块: from sql_select import SqlSelect [as 别名]
# 或者: from sql_select.SqlSelect import parse [as 别名]
def test_single_year_month(self):
sql_select = SqlSelect.parse("SELECT * FROM index('symbol-%Y-%m', '2015-06') AS my_table GROUP BY name")
self.assertEqual('symbol-2015-06', sql_select.from_indices)