原始SQL需要:
SELECT
id
FROM
(SELECT some_table.id FROM some_table WHERE some_table.some_field IS NULL) AS subq1
UNION
(SELECT some_table.id WHERE some_table.some_field IS NOT NULL)
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
这是python代码:
import sqlalchemy
SOME_TABLE = sqlalchemy.Table(
'some_table',
sqlalchemy.MetaData(),
sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True),
sqlalchemy.Column('some_field', sqlalchemy.Text))
stmt_1 = sqlalchemy.sql.select(SOME_TABLE.columns).where(SOME_TABLE.columns.some_field != None)
stmt_2 = sqlalchemy.sql.select(SOME_TABLE.columns).where(SOME_TABLE.columns.some_field == None)
# This gets a programming error.
stmt_1.union(stmt_2).limit(10);
Run Code Online (Sandbox Code Playgroud)
以下是输出的SQL(带有参数交换),它会收到此错误: 错误:"UNION"处或附近的语法错误:
SELECT some_table.id, some_table.some_field
FROM some_table
WHERE some_table.some_field IS NOT NULL
LIMIT 10 UNION SELECT some_table.id, some_table.some_field
FROM some_table
WHERE some_table.some_field IS NULL
LIMIT 10 …
Run Code Online (Sandbox Code Playgroud) 它没有项目,我作为受让人取消了自己,现在我无法在任何地方找到它.我只能按项目或受让人排序.谁知道它藏在哪里?
如何在目录中的每个文件中找到并替换{%extends"a/b/c/d"%}的每个实例与另一个{%extends"e/f/g/h"%}?此外,如果在同一行的声明之后发生任何事情,我想保留它.
我已经看过使用perl,如下所示:
perl -pi -e 's/find/replace/g' *.html
Run Code Online (Sandbox Code Playgroud)
但是我不知道perl并且不知道在我的查找/替换字符串中转义所有字符的最佳方法(即{./,"等).
更容易解决方案?
asana ×1
grep ×1
linux ×1
perl ×1
postgresql ×1
python ×1
python-2.7 ×1
sed ×1
sqlalchemy ×1
union ×1