Étiquette : Bases de données

[SQL] Rechercher du texte dans un BLOB

[SQL] Rechercher du texte dans un BLOB

En SQL il est possible de rechercher du texte dans une colonne de type BLOB. Attention que cette méthode s’applique à la base de données Oracle. On utilise des méthodes internes qui permettent de convertir le terme cherché en données brutes et effectuer une recherche de caractères dans la colonne.

Poursuivre la lecture « [SQL] Rechercher du texte dans un BLOB »

[SQL] L’opérateur (+) d’Oracle

[SQL] L’opérateur (+) d’Oracle

Je pensais avoir vu beaucoup de choses mais n’ayant pas beaucoup travaillé avec Oracle ces dernières années (en fait, pour être honnête : pas du tout), je n’avais jamais rencontré cette syntaxe qui peut paraitre étrange la toute première fois… Que fait cet opérateur plus dans les conditions des jointures ? Perturbant… Cela implique de se renseigner un peu.

Poursuivre la lecture « [SQL] L’opérateur (+) d’Oracle »

[SQL] Concaténer en une seule chaine par ligne

[SQL] Concaténer en une seule chaine par ligne

Il existe, en MySQL, une fonction qui s’appelle GROUP_CONCAT et qui permet de concaténer – d’agréger – plusieurs éléments récupérés depuis une seule table en vue d’obtenir une seule chaine de caractères, par ligne de résultat.

Cela permet, par exemple, de récupérer les informations d’un livre, avec les auteurs séparés par des « , », et ce en une seule ligne de résultat. L’exemple repris dans la documentation de MySQL permet d’afficher le nom des étudiants avec leurs résultats aux différents tests.

Poursuivre la lecture « [SQL] Concaténer en une seule chaine par ligne »

[SQL] Mémo – Modifier le type d’une colonne

[SQL] Mémo – Modifier le type d’une colonne

Pour modifier le type d’une colonne dans une table DB2/400, vous pouvez utiliser la syntaxe ALTER TABLE … ALTER COLUMN. Il faudra cependant spécifier une clause supplémentaire : SET DATA TYPE. Cela vous permettra de changer la taille par exemple, ou bien passer d’un entier sur 4 octets à un entier sur 8. Exemple :

ALTER TABLE 'biblio.table' ALTER COLUMN email 
SET DATA TYPE varchar(50);

Dans cet exemple nous modifions la colonne qui contient l’e-mail en indiquant qu’on souhaite une chaine de caractères à taille variable d’un maximum de 50 caractères. Dans SQL Server, cela donnerait quelque chose comme ceci :

ALTER TABLE 'schema.table' ALTER COLUMN email varchar(50);

Et dans Oracle ou même MySQL :

ALTER TABLE 'schema.table' MODIFIY COLUMN email varchar(50);

Bon développement !

[SQL] 80040e57 : Arithmetic Overflow SQL Server

[SQL] 80040e57 : Arithmetic Overflow SQL Server

Lorsque vous effectuez une insertion dans une colonne avec une valeur numérique trop grande ou lorsque vous effectuez par exemple une somme impliquant une ou plusieurs colonnes numérique dont le résultat dépasse le type imposé (par exemple, le résultat obtenu dépasse l’entier), vous obtenez l’exception 80040e57 avec par exemple le message d’erreur suivant : “Arithmetic overflow error converting expression to data type int”.

Poursuivre la lecture « [SQL] 80040e57 : Arithmetic Overflow SQL Server »

[SQL] Mémo – Dates dans DB2 UDB for iSeries

[SQL] Mémo – Dates dans DB2 UDB for iSeries

Sur l’AS/400, lorsqu’on utilise des champs de type date, il faut parfois utiliser certaines fonctions de conversion ou du moins utiliser une chaine de caractères d’un format spécifique. Il existe aussi un tas de fonctions qui permettent par exemple de récupérer le jour de la semaine, le libellé du mois, ou bien une représentation sous forme d’entier.

Poursuivre la lecture « [SQL] Mémo – Dates dans DB2 UDB for iSeries »

[SQL] Réaliser des “upserts” sur DB2/400

[SQL] Réaliser des “upserts” sur DB2/400

Beaucoup de SGBD proposent des requêtes plutôt simples pour réaliser ce qu’on appelle couramment des upserts (ou encore « insert-or-update« ). Cela permet donc d’effectuer une mise à jour si l’insertion échoue. Dans DB2/400, il faut utiliser une requête “MERGE INTO”.

Poursuivre la lecture « [SQL] Réaliser des “upserts” sur DB2/400 »

[Java] Exécuter un lot de requêtes SQL

[Java] Exécuter un lot de requêtes SQL

Grâce à JDBC, il vous est possible de gagner en performances en exécutant un lot de requêtes – aussi appelé “batch” – pour effectuer des insertions, des mises à jour ou même des suppressions. Par défaut, toutes les requêtes seront considérées chacune comme étant des transactions, car l’auto-commit est activé lors de l’utilisation de l’objet Connection.

Poursuivre la lecture « [Java] Exécuter un lot de requêtes SQL »

[WD18] TDF Technique @ Bruxelles

[WD18] TDF Technique @ Bruxelles

Comme chaque année, la société PC SOFT organise ce qu’on appelle le “Tour de France Technique” et passe à Bruxelles, où plutôt à Braine l’Alleud, afin de présenter sa nouvelle version. En général, il a lieu deux fois l’année, une fois quand le produit est sur le point de sortir, et la fois suivante lorsqu’il est déjà sur le marché avec une ou deux mises à jour à télécharger.

Poursuivre la lecture « [WD18] TDF Technique @ Bruxelles »