Coolforest.net

Aller au contenu | Aller au menu | Aller à la recherche

jeudi, décembre 13 2007

Faire un ORDER BY sur un champ SQL Server de type NTEXT

Le message par défaut lors d'une tentative d'ORDER BY sur un champ de type NTEXT sous SQL Server est : "Les types de données text, ntext et image ne peuvent pas être comparés ou classés, sauf lors de l'utilisation de l'opérateur LIKE ou IS NULL."

La solution pour trier un champ de type NTEXT : le convertir à la volée en NVARCHAR .

SELECT T.*  FROM T_MATABLE T
ORDER BY CONVERT(nvarchar,T.monChampNTEXT) ASC

Notes

lundi, avril 23 2007

L'auto incrémentation dans SQL Server Management Studio

texte alternatif

Pour activer l'auto-incrémentation d'une colonne (par exemple une clé) dans une table d'une base SQL Server :



  • Aller dans Sql Server Management
  • Ouvrir Base de donnée > maBase > Tables > maTable > Click droit, "modifier"
  • Sélectionner la colonne à auti-incrémenter
  • dans le panel outil "Propriétés des colonnes", déployer la section "Spécification du compteur"
  • Fixer "(Est d'identité)" à Oui, modifier le pas d'incrémentation ("Incrément du compteur") si besoin.

Pour supprimer les données et remettre à zéro l'auto-incrémentation (valable aussi sous SQL Server 2000) :

TRUNCATE TABLE maTable;

jeudi, novembre 16 2006

SQL : compter et identifier les doublons dans une table

Exemple de déscompte de doublons dans un champ d'un table SQL (ici la clé de la table) :

SELECT id_table, COUNT(id_table) AS nombre_de_repetition
 FROM maTable
 GROUP BY id_table
 HAVING COUNT(id_table)>1

lundi, mars 13 2006

DBDesigner 4 est mort, vive MySQL Workbench

MWB DBDesigner 4 de FabForce était - et est toujours - un produit abouti et très fonctionnel, mais il n'existe que sous Windows (sous Linux aussi) et n'est plus développé ni supporté depuis... 2003.

Surprise, un fork "salutaire", et toujours en opensource, vient de sortir chez MySQL : il s'agit de MySQL Workbench (version beta). La pré-version n'apporte encore aucune nouvelle fonctionnalité importante, et plusieurs outils sont encore en grisé (non-activées). Mais on peut déjà importer les schémas de base écrits avec DBDesigner (.xml) et se connecter à une bdd pour faire du reverse ingeneering. Surtout, MySQL Workbench sera multiplateforme (Win|Minux|Mac).

La présentation des tables par défaut est plus chargée : En plus de ses colonnes, chaque table liste par défaut ses foreign keys, ses indices et ses triggers. Le schéma devient un peu vite illisible. Mais l'outil deviendrait vite intéressant si l'on peut avoir la main sur les modèles de présentations.

DBDLe gros intérêt de MySQL Workbench 1.0.5 beta pourrait être en particulier l'API : "Plugins can be written in several languages, such as Lua, PHP, Java and Python". On rêve déjà de générateurs de couches objet, dans le style du plugin uml2php de DIA.

Bilan mitigé pour l'instant mais assez encourageant : On utilisera encore l'excellent DBDesigner 4, à la fois simple et complet, mais en surveillant de près l'évolution du dernier bébé de MySQL AB.




Télécharger MySQL WorkBench : http://dev.mysql.com/downloads/gui-tools/

jeudi, février 23 2006

MySQL : Sum ( TIME ) ?

Comment additionner des valeurs de temps (HH:mm:ss) enregistrées en type TIME :

"The calculation for accumulating time values is a little more involved. It's necessary to convert times to seconds, sum the resulting values, and convert the sum back to a time value."

Source : onlamp.com

Ce qui donne :

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(t_times.ellapsed_time))) 
AS 'cumultime'
FROM t_times

Voir aussi :

jeudi, novembre 3 2005

Mémo et astuces SQL sous Oracle

Datetime, Triggers, séquences, alias, "LIMIT", ... Petit mémo perso.

Lire la suite...

lundi, juin 6 2005

Équi-jointure

Construire une requête avec une condition d'équi-jointure existante ou non

Lire la suite...

mardi, mars 22 2005

Migration de Access vers SQL Server version MSDE

Je note pour mémoire les étapes clefs d'une migration de base MS Access 2000 vers Sql Server version MSDE, réalisée aujourd'hui.

Lire la suite...

lundi, février 7 2005

Mémo SQL

Un bon mémo du langage SQL, c'est toujours pratique ;)

dimanche, janvier 23 2005

Bonnes pratiques en SQL

Quelques notes sur des bonnes pratiques en SQL

Lire la suite...

mardi, septembre 28 2004

Optimiser MySQL

Quelques éléments pour améliorer l'utilisation courante de MySQL

Lire la suite...

jeudi, septembre 16 2004

Requete SQL pour pagination de résultats

Evite par exemple en C# .NET d'utiliser le ViewState

Lire la suite...