You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import sqlglot
from sqlglot.optimizer import optimize, RULES as optimize_rules
if name == 'main':
sqlglot_metadata = {
'sales': {'ReceiptDate': 'DATE', 'Qtty': 'FLOAT', 'Price': 'FLOAT', 'YEAR': 'STRING'}
}
print(sqlglot.version) # 16.7.7
experiments = [
{
'sql': """SELECT DATEPART(YEAR, s.ReceiptDate) AS Year, DATEPART(MONTH, s.ReceiptDate) AS Month, AVG(s.Price) AS AverageValue, AVG(s.Qtty) AS AverageItemCount FROM sales s WHERE s.ReceiptDate >= '2023-01-01' GROUP BY DATEPART(YEAR, s.ReceiptDate), DATEPART(MONTH, s.ReceiptDate) ORDER BY DATEPART(YEAR, s.ReceiptDate), DATEPART(MONTH, s.ReceiptDate)""",
'read': 'tsql',
'dialect': 'tsql',
},
{
'sql': """SELECT DATEPART(YEAR, s.ReceiptDate) AS Year, DATEPART(MONTH, s.ReceiptDate) AS Month, AVG(s.Price) AS AverageValue, AVG(s.Qtty) AS AverageItemCount FROM sales s WHERE s.ReceiptDate >= '2023-01-01' GROUP BY DATEPART(YEAR, s.ReceiptDate), DATEPART(MONTH, s.ReceiptDate) ORDER BY DATEPART(YEAR, s.ReceiptDate), DATEPART(MONTH, s.ReceiptDate)""",
'read': 'tsql',
'dialect': None,
}
]
for exp in experiments:
expression = optimize(
expression=sqlglot.parse_one(sql=exp['sql'], read=exp['read']),
schema=sqlglot_metadata,
)
out = expression.sql(dialect=exp['dialect'], pretty=True)
print("\n\n" + out)
The text was updated successfully, but these errors were encountered:
import sqlglot
from sqlglot.optimizer import optimize, RULES as optimize_rules
if name == 'main':
sqlglot_metadata = {
'sales': {'ReceiptDate': 'DATE', 'Qtty': 'FLOAT', 'Price': 'FLOAT', 'YEAR': 'STRING'}
}
print(sqlglot.version) # 16.7.7
experiments = [
{
'sql': """SELECT DATEPART(YEAR, s.ReceiptDate) AS Year, DATEPART(MONTH, s.ReceiptDate) AS Month, AVG(s.Price) AS AverageValue, AVG(s.Qtty) AS AverageItemCount FROM sales s WHERE s.ReceiptDate >= '2023-01-01' GROUP BY DATEPART(YEAR, s.ReceiptDate), DATEPART(MONTH, s.ReceiptDate) ORDER BY DATEPART(YEAR, s.ReceiptDate), DATEPART(MONTH, s.ReceiptDate)""",
'read': 'tsql',
'dialect': 'tsql',
},
]
for exp in experiments:
expression = optimize(
expression=sqlglot.parse_one(sql=exp['sql'], read=exp['read']),
schema=sqlglot_metadata,
)
The text was updated successfully, but these errors were encountered: