Maison  >  Article  >  base de données  >  Comment postgresql est-il compatible avec MySQL si la fonction

Comment postgresql est-il compatible avec MySQL si la fonction

PHPz
PHPzavant
2023-06-01 19:52:122694parcourir

    postgresql est compatible avec la fonction if de MySQL

    description de la fonction if

    L'utilisation de la fonction if() dans MySQL est similaire à l'expression ternaire en Java, et elle a de nombreuses utilisations. La syntaxe spécifique est la suivante :

    IF( expr1, expr2, expr3), si la valeur de expr1 est vraie, renvoie la valeur de expr2, si la valeur de expr1 est fausse, renvoie la valeur de expr3

    postgresql personnalisé si fonction compatible

    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;

    mysql, oracle, compatible postgresql Différences dans l'utilisation de

    sql

    1 table double

    table unique d'oracle, le but est de limiter la structure complète des instructions SQL

    select (select * from table_name where age = 20) t from dual

    mysql et pgsql n'ont pas cette table, vous pouvez directement supprimez-le

    select (select * from table_name where age = 20) t

    2. Type booléen

    oracle et mysql n'ont pas de type booléen, vous pouvez utiliser un nombre (int) ou char à la place

    pgsql a un type booléen, les nombres et les caractères sont automatiquement convertis en type booléen (0&rarr ;f, 1→t, no→f, yes&rarr ;t)

    3. Mettre à jour l'alias de la table

    pgsql n'est pas applicable, mysql et oracle prennent en charge

    update table_name t set t.name = 'abc' where id = 1

    4. prend en charge les guillemets simples

    select * from table_name where name = 'abc'

    les guillemets simples/doubles mysql sont pris en charge

    select * from table_name where name = "abc"

    5 Batch insert

    mysql, pgsql batch insert

    insert into table_name() values()

    oracle batch insert

    insert all into table_name() values()

    mybatis est compatible avec différentes bases de données

    Utilisez if tag. pour juger _databaseId, et s'adapter respectivement aux différentes bases de données, code spécifique comme suit :

    <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>

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer