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

Comment postgresql est-il compatible avec MySQL si la fonction

PHPz
Libérer: 2023-06-01 19:52:12
avant
2735 Les gens l'ont consulté

    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;
    Copier après la connexion

    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
    Copier après la connexion

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

    select (select * from table_name where age = 20) t
    Copier après la connexion

    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
    Copier après la connexion

    4. prend en charge les guillemets simples

    select * from table_name where name = 'abc'
    Copier après la connexion

    les guillemets simples/doubles mysql sont pris en charge

    select * from table_name where name = "abc"
    Copier après la connexion

    5 Batch insert

    mysql, pgsql batch insert

    insert into table_name() values()
    Copier après la connexion

    oracle batch insert

    insert all into table_name() values()
    Copier après la connexion

    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>
    Copier après la connexion

    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!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal