[JAVA] [jOOQ] Comment utiliser CASE WHEN dans la clause WHERE / AND / OR

Vous pouvez dériver ce que vous voulez faire (code que vous voulez écrire) du SQL que vous voulez exécuter en vous basant sur le manuel jOOQ. J'y pensais, mais pour une raison quelconque, j'ai pris beaucoup de temps, alors prenez une note pour que je puisse m'en souvenir.

environnement

manuel jOOQ

https://www.jooq.org/doc/3.9/manual/sql-building/column-expressions/case-expressions/

Chose que tu veux faire

Exprimez l'instruction CASE WHEN suivante dans jOOQ

-- (Exemple approprié)
--Personne spécifique de moins de 30 ans(ID)Si le salaire mensuel des autres personnes est doublé et n'atteint pas 500000 yens, ce sera un succès
SELECT *
FROM person
WHERE person.age < 30
AND (
  CASE
    WHEN person.id IN (100, 1000)
    THEN person.salary
    ELSE person.salary * 2
  END
) < 500000;

jOOQ Comme ça

//Omis avant WHERE
  .and(
    DSL.when(
      person.getId().in(100, 1000),
      person.getSalary()
    ).otherwise(
      person.getSalary().mul(2)
    ).lt(500000)
  )

Recommended Posts

[jOOQ] Comment utiliser CASE WHEN dans la clause WHERE / AND / OR
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment régler chrony lorsque le temps change dans CentOS7
Comment créer une partie d'espace réservé à utiliser dans la clause IN
Comment résoudre le problème lorsque la valeur n'est pas envoyée lorsque le formulaire est désactivé dans les rails et envoyé
Comment afficher la valeur lorsqu'il y a un tableau dans le tableau
Comment installer le langage utilisé dans Ubuntu et comment créer l'environnement
Comment résoudre l'erreur inconnue apparue lors de l'utilisation de slf4j en Java
Comment trouver les dizaines et les unités
Comment obtenir la date avec Java
Emplacement de la définition de la méthode Résumé de la vérification Lorsque défini dans le projet et Rails / Gem
J'ai résumé les points à noter lors de l'utilisation combinée des ressources et des ressources
Comment modifier le nombre maximum et maximum de données POST dans Spark
Comment trouver le nombre total de pages lors de la pagination en Java
Comment contraindre l'action de la destination de transition lorsqu'elle n'est pas connectée
[Cas d'amélioration Java] Comment atteindre la limite de l'auto-apprentissage et au-delà
Comment référencer une colonne lors du remplacement de la méthode de nom de colonne dans ActiveRecord
Comment créer votre propre annotation en Java et obtenir la valeur
Résolution d'une erreur survenue lors de la tentative d'utilisation de Spark dans un environnement où Java 8 et Java 11 coexistent
Prise en main des opérateurs logiques utilisant Doma tels que AND et OR dans la clause WHERE de l'API Criteria
Comment effacer la base de données lors de la recréation de l'application
Comment trouver le score total et le score moyen
Comment créer la blockchain la plus simple de Ruby
Comment vérifier les commandes Rails dans le terminal
graphql-ruby: Comment obtenir le nom de la requête ou de la mutation dans le contrôleur Remarque
Comment définir quand "Le constructeur Empty () n'est pas visible" se produit dans junit
À propos du cas où "Docker" freeter a tenté de mettre Docker dans l'application Rails existante
Comment régler l'heure d'affichage sur l'heure japonaise dans les rails
[Java] Comment omettre le constructeur privé dans Lombok
N choses à garder à l'esprit lorsque vous lisez «Introduction au printemps» et «Introduction au printemps» à l'ère Reiwa
[Java] Comment obtenir la clé et la valeur stockées dans Map par traitement itératif
Comment obtenir le nom de classe de l'argument de LoggerFactory.getLogger lors de l'utilisation de SLF4J en Java
Organisé comment interagir avec le JDK par étapes
Classes et instances Java comprises dans la figure
Créer la variable de clause where dans Spring Data JPA
Comment spécifier le chemin de la ressource dans l'importation HTML
Comment gérer les fichiers TSV et les fichiers CSV dans Ruby
[Swift] Comment afficher les caractères saisis sur le Widget via UserDefaults lors de l'utilisation du WidgetKit
Comment déboguer le fichier jar généré avec Eclipse
[Swift5] Comment arrondir, arrondir et arrondir les deuxième et troisième points minoritaires
Comment lancer Swagger UI et Swagger Editor dans Docker
Comment identifier la cause lorsque le GC se produit fréquemment et que l'utilisation du processeur est élevée
[Rails] Comment afficher les images dans la vue
Résumé de l'utilisation du jeu de proxy dans IE lors de la connexion avec Java
Solution au problème que les ruptures de ligne intra-cellulaires sont amplifiées lorsque EXCEL est généré à l'aide du classeur SXSSF (3.16 ou version antérieure)
Comment écrire des commentaires dans le fichier de définition de schéma dans GraphQL Java et les refléter dans GraphiQL et GraphQL Playground
Dans Swift, lors de la purge de JSON, il est passé dans le cas du serpent et la méthode d'adaptation gênante
Vérifiez comment définir le délai d'expiration lors de la connexion avec Spring + HikariCP + MySQL et de l'exécution de SQL
Comment marquer les mots-clés de recherche indépendamment de la casse et sans changer le mot source de la recherche
Comment changer la version Java et l'exécuter dans un environnement où Java ne peut pas être installé librement