Utiliser la fonction SIGN sous Oracle pour comparer des dates

Ce petit post a pour but d’expliquer l’utilisation de la fonction SIGN pour comparer des dates.

A la base, cette fonction permet de savoir si un nombre est négatif, égal à zéro ou positif :
SELECT SIGN(-11) FROM DUAL; La fonction retourne -1
SELECT SIGN(0) FROM DUAL; La fonction retourne 0
SELECT SIGN(11) FROM DUAL; La fonction retourne 1

Nous allons utiliser la fonction SIGN pour comparer 2 dates et savoir si la DATE1 est antérieure, égale ou postérieure à la DATE2.

Syntaxe :

La syntaxe est la suivante :
SELECT SIGN(DATE1-DATE2) FROM DUAL;
Si DATE1 est antérieure à DATE2, alors la fonction retourne -1.
Si DATE1 est postérieure à DATE2, alors la fonction retourne 1.
Si DATE1 est égale à DATE2, alors la fonction retourne 0.

Exemple de requête qui retourne toujours 0 :
SELECT SIGN(SYSDATE-SYSDATE) FROM DUAL;

Exemple :

Nous avons des immeubles avec des dates de construction d’un côté et de l’autre nous avons des états réglementaires (l’amiante concerne les immeubles construit avant le 01/07/1997, le plomb concerne les immeubles construit avant le 01/01/1949) qui doivent être réalisés en fonction de cette date de construction.

Pour obtenir la colonne "A_REALISER", on utilise la syntaxe suivante :
DECODE(SIGN(DATE_APPLICATION-DATE_CONSTRUCTION),-1,'NON',0,'OUI',1,'OUI') AS A_REALISER

Flyway / Liquibase des outils simples à utiliser

 

En tant que développeur on doit tous à un moment donné, créer des scripts SQL : que ce soit pour la structure de la base ou pour les données. Or quand il s’agit de la base on ne pense pas à versionner comme on le ferait pour du code. Actuellement, il existe de nombreuses solutions qui ont chacune leurs avantages et leurs inconvénients, personnellement je vais présenter Flyway et Liquibase, car j’ai pu les utiliser dans un contexte métier différent.

Little hardware, Big data 3/5

Après le Crawler et l'Analyser, voici la troisième partie de la série "Little hardware, Big data". Ce dossier porte sur un projet de moteur de recherche chronologique. Une version du projet est disponible en ligne sur http://histoires.xyz. Le site fonctionne sur un Raspberry Pi 2, le déploiement contient 13.293.159 documents et tourne à merveille :). Cet article présente les détails du troisième composant : l'API. Ce dernier, qui est un programme Java/Spring Boot, a pour objectif de mettre en place des services REST avec les fonctions de recherche, de statistiques, de synonymie, etc. indispensables au fonctionnement du site.

Distinguez vos différents serveur SQL en un coup d’oeil !

Suite au déroulement de nombreux projets, un développeur se trouve rapidement face à un Microsoft SQL Server Management Studio comprenant une dizaine ou plus, de serveurs de base de données enregistrés. Même si les noms donnés à ces derniers sont parlants, par exemple "ProjetXY_Recette", il est fréquent de perdre du temps en cherchant le bon nom dans une liste longue voire même d'ouvrir le mauvais serveur. Voici quelques astuces pour répondre à cette problématique organisationnelle...

Apache CouchDB

Le choix de la technologie utilisée pour votre base de données est toujours un choix délicat et déterminant dans la bonne conduite de votre projet. Aujourd'hui de nombreuses solutions existent (PostgreSQL, Oracle, MongoDB, etc...). J'ai décidé de vous présenter la solution fournie par Apache, "Apache couchDB". Cette solution faisant partie de la mouvance NoSQL, est un système de gestion de base de données orienté documents (formaté en JSON) et écrit en langage Erlang. De plus, elle possède une API REST qui permet de faire toutes les opérations nécessaires sur une base de données telles que des insertions, modifications ou suppressions de données. Mais également d’effectuer des requêtes complexes qui pourront être réalisées à l'aide du patron d'architecture MapReduce.

Démarrer une instance SQL Server en mode mono-utilisateur

Dans certaines circonstances, vous pouvez être amené à démarrer une instance de SQL Server en mode mono-utilisateur.

Différentes situations peuvent ainsi se présenter. Vous pouvez par exemple vouloir modifier certaines options de configuration du serveur de base de données, ou bien réaliser des modifications au niveau de bases de données endommagées.

Pour cela, vous allez devoir démarrer votre instance de SQL Server en mode mono-utilisateur. Le mode mono-utilisateur permet, comme son nom l’indique, de restreindre le nombre de connexions à SQL Server à une unique connexion.

Installer oracle 11 express sur linux

Oracle_logo

Voici les étapes pour pouvoir installer Oracle 11 express sur une machine Linux.

Prérequis

Sous Linux, Oracle est conçu pour s'installer sur les distributions Red Hat.

Il est possible de l'installer sur un autre type de distribution en transcodant les fichiers d'installation dans le format du Linux souhaité.

Pour simplifier, on utilise une machine virtuelle avec un CentOs 6 installé (la version publique de Red Hat).

La première étape est de s'assurer que les paquets suivants soient installés :

sudo yum install libaio bc flex

 

La seconde étape est de récupérer les fichiers d'installation ici