Bagaimanakah postgresql serasi dengan MySQL if function

PHPz
Lepaskan: 2023-06-01 19:52:12
ke hadapan
2694 orang telah melayarinya

    postgresql serasi dengan MySQL if function

    if function description

    Penggunaan if() function dalam mysql adalah serupa dengan tiga fungsi dalam java Ungkapan tujuan mempunyai banyak kegunaan Sintaks khusus adalah seperti berikut:

    IF(expr1,expr2,expr3 Jika nilai expr1 adalah benar, maka nilai expr2 dikembalikan nilai expr1 adalah palsu, kemudian Kembalikan nilai expr3

    postgresql custom jika fungsi serasi

    create or replace function if(bln boolean,inValue1 anyelement,inValue2 anyelement)
    returns anyelement as
    $$
    begin
    if bln=true then
       return inValue1;
    else
       return inValue2;
    end if;
    end;
    $$
    language plpgsql;
    
    create or replace function if(bln boolean,inValue1 numeric,inValue2 numeric)
    returns numeric as
    $$
    begin
    if bln=true then
       return inValue1;
    else
       return inValue2;
    end if;
    end;
    $$
    language plpgsql;
    
    create or replace function if(bln boolean,inValue1 numeric,inValue2 text)
    returns text as
    $$
    begin
    if bln=true then
       return inValue1;
    else
       return inValue2;
    end if;
    end;
    $$
    language plpgsql;
    Salin selepas log masuk

    mysql, oracle, postgresql serasi penyesuaian

    Perbezaan penggunaan SQL

    1 . dwi jadual

    Jadual unik Oracle, tujuannya adalah untuk mengehadkan struktur lengkap pernyataan sql

    select (select * from table_name where age = 20) t from dual
    Salin selepas log masuk

    mysql dan pgsql tidak mempunyai jadual ini, anda boleh mengeluarkannya terus

    select (select * from table_name where age = 20) t
    Salin selepas log masuk

    2 jenis Boolean

    oracle dan mysql tidak mempunyai jenis boolean, anda boleh menggunakan nombor (int) atau char sebaliknya

    pgsql mempunyai jenis bool, nombor dan aksara ditukar secara automatik kepada jenis boolean (0→f, 1→t, tidak→f, ya→t)

    3 >

    pgsql tidak berkenaan, disokong oleh mysql dan oracle

    update table_name t set t.name = 'abc' where id = 1
    Salin selepas log masuk

    4 Melepasi nilai rentetan

    pgsql dan oracle hanya menyokong petikan tunggal<🎜. >
    select * from table_name where name = &#39;abc&#39;
    Salin selepas log masuk

    mysql menyokong petikan tunggal dan berganda

    select * from table_name where name = "abc"
    Salin selepas log masuk

    5 Sisipan Batch

    mysql, pgsql batch insert

    insert into table_name() values()
    Salin selepas log masuk

    oracle batch.

    insert all into table_name() values()
    Salin selepas log masuk

    mybatis serasi dengan pangkalan data yang berbeza

    Gunakan tag if untuk menentukan _databaseId dan masing-masing menyesuaikan diri dengan pangkalan data yang berbeza:

    <insert id="insertBatch" parameterType="java.util.List">
        <if test="_databaseId==&#39;mysql&#39; or _databaseId==&#39;postgresql&#39;">
            insert into table_name 
            (<include refid="insertBatchColumn"></include>)
            values
            <foreach collection="list" item="item" index="index" separator="," >
                (<include refid="insertBatchValue"></include>)
            </foreach>
        </if>
        <if test="_databaseId==&#39;oracle&#39;">
            insert all
            <foreach collection="list" item="item" index="index" separator="">
                into table_name 
                (<include refid="insertBatchColumn"></include>)
                values (<include refid="insertBatchValue"></include>)
            </foreach>
            select * from dual
        </if>
    </insert>
     
    <sql id="insertBatchColumn">
        id,name,age,gender
    </sql>
    <sql id="insertBatchValue">
        #{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, 
        #{item.age,jdbcType=INTEGER},#{item.gender,jdbcType=INTEGER}
    </sql>
    Salin selepas log masuk

    Atas ialah kandungan terperinci Bagaimanakah postgresql serasi dengan MySQL if function. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan