我有一個sql查詢,我想提取表別名。例如:
select * from t_1 a join t_2 b on a.id = b.t_id where a.words = ? and b.words = ?
我預期的結果
a:t_1,b:t_2
uj5u.com熱心網友回復:
您可以嘗試使用正則運算式匹配方法來捕獲每個表名和別名。
var sql = "select * from t_1 join t_2 b on t_1.id = b.t_id where t_1.words = ? and b.words = ?";
var aliases = sql.match(/(?<=\b(?:from|join) )\w (?: (?!\bjoin\b)\w )?/g);
aliases.forEach(x => console.log((x.split(" ")[1] ? x.split(" ")[1] : x.split(" ")[0]) ": " x.split(" ")[0]));
請注意,通常要執行您想要的操作,需要一個正式的 SQL決議器。單獨的正則運算式是不合適的,它需要數百行代碼,很可能更多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/461221.html
標籤:javascript sql
上一篇:用下拉選單過濾VanillaJS
下一篇:將引數傳遞給類的單擊事件
