小编tan*_*ard的帖子

值语句中的 case

我想将数据从 mysql 插入到 postgresql 中的表中。我想为特定的 id 执行 WHERE NOT EXISTS 语句。

   # Source data: MySQL
   curr_msql.execute(''' SELECT code, subjectname 
                          FROM test_subj ''')

    # Target data: PostgreSQL
    for row in curr_msql:
            curr_psql.execute(''' INSERT INTO subs (
                                                    created, modified,
                                                    subjcode, subjname,
                                                    is_pe_or_nstp)

                                  VALUES (current_timestamp, current_timestamp,
                                          %s, %s,
                                          %s) ''', (row['code'], row['subjectname'],
False))
Run Code Online (Sandbox Code Playgroud)

我想知道如何将“False”替换为 case 语句。就像是

CASE
    WHEN code like '%PE%' or code like '%NSTP%'
    THEN True
    ELSE False
END
Run Code Online (Sandbox Code Playgroud)

我尝试运行此代码:

for row in curr_msql:
            curr_psql.execute(''' INSERT INTO subs (
                                                    created, modified,
                                                    subjcode, …
Run Code Online (Sandbox Code Playgroud)

postgresql

5
推荐指数
1
解决办法
452
查看次数

标签 统计

postgresql ×1