转义sqlite3的引号

时间:2012-04-04 05:07:22

标签: shell sqlite applescript

我想查询名称中包含空格的列。 shell脚本是:

select "Column 1" from aTable;

也许已经晚了,但我很难逃避Applescript:

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db \"select \"Address 1\" from aTable limit 10; \""

1 个答案:

答案 0 :(得分:2)

在SQL周围使用单引号:

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db 'select \"Address 1\" from aTable limit 10; '"

或者如果你想打败自己,继续在任何地方使用双引号并添加更多转义:

set xxx to do shell script "sqlite3 ~/Documents/Databases/test.db \"select \\\"Address 1\\\" from aTable limit 10; \""

你需要三个,因为你必须逃脱转义才能获得逃脱的双引号到shell。 ICK。

或者更好的是,使用原生的AppleScript SQLite界面,几分钟的谷歌搜索应该能找到比上面的嵌套引用疯狂更好的东西。