-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
66 lines (60 loc) · 1.43 KB
/
app.py
File metadata and controls
66 lines (60 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import sqlglot
import streamlit as st
from streamlit_ace import st_ace
app_name = "SQL Translator"
dialects = (
"athena",
"bigquery",
"clickhouse",
"databricks",
"doris",
"drill",
"druid",
"duckdb",
"hive",
"materialize",
"mysql",
"oracle",
"postgres",
"presto",
"prql",
"redshift",
"risingwave",
"snowflake",
"spark",
"spark2",
"sqlite",
"starrocks",
"tableau",
"teradata",
"trino",
"tsql",
)
st.set_page_config(page_title=app_name, layout="wide")
st.title(app_name)
st.write(f"Translate SQL queries between {len(dialects)} different dialects")
st.markdown(
"[](https://northstardata.co/)"
)
st.divider()
col1, col2 = st.columns(2)
with col1:
input_dialect = st.selectbox(label="Input", options=dialects, index=7)
input_query = st_ace(
value="SELECT EPOCH_MS(1618088028295)",
placeholder="Write your SQL query here",
language="sql",
theme="dracula",
)
with col2:
output_dialect = st.selectbox(label="Output", options=dialects, index=8)
output_query = sqlglot.transpile(
sql=input_query, read=input_dialect, write=output_dialect, pretty=True
)[0]
output = st_ace(
value=output_query,
language="sql",
theme="dracula",
readonly=True,
auto_update=True,
)