use sqlglot_rust::{transpile, Dialect};
fn main() {
let examples = [
("SELECT NOW()", Dialect::Postgres, Dialect::Tsql, "NOW → GETDATE"),
("SELECT IFNULL(a, b) FROM t", Dialect::Mysql, Dialect::Postgres, "IFNULL → COALESCE"),
("SELECT * FROM t LIMIT 5", Dialect::Mysql, Dialect::Tsql, "LIMIT → TOP"),
("SELECT \"user\" FROM t", Dialect::Postgres, Dialect::Mysql, "Double-quote → backtick"),
("SELECT * FROM t WHERE name ILIKE '%test%'", Dialect::Postgres, Dialect::Mysql, "ILIKE → LOWER/LIKE"),
("CREATE TABLE t (id SERIAL)", Dialect::Postgres, Dialect::Mysql, "SERIAL → INT AUTO_INCREMENT"),
];
for (sql, from, to, label) in examples {
let result = transpile(sql, from, to).unwrap();
println!("[{label}]");
println!(" {from:?} → {to:?}");
println!(" IN: {sql}");
println!(" OUT: {result}\n");
}
}