begin process at 2012 05 27 05:38:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Sélectionner le max d'une VarChar


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sélectionner le max d'une VarChar

mardi 16 décembre 2008 à 21:58:47 | Sélectionner le max d'une VarChar

PatBlarg

Bonjour, j'ai un gros problème de requête SQL. Plutôt 2 même...

J'ai un logiciel qui écrit des donnée numérique dans une base de donnée SQL.

Dépendant d'un certain triage que je fais, je dois aller sélectionner la valeur maximale dans une colonne créé par le logiciel.

 Problème numéro 1 :
Si j'ai des données de 5000 à 10500 par exemple, il me sélectionnera comme dernière valeur 9999.7 par exemple. (Qui serait la dernière valeur plus petite avant 10000)
Si j'ai bien compris, c'est dû au fait que la colonne est de type varchar. J'ai cherché et je suis tombé sur la fonction to_number ... mais c'est pas pour SQL Serveur Express on dirait.


Problème numéro 2 :
Pour les donnée plus grande que 999 999, les valeurs sont écritent au format suivant : 2.92060e+006
Donc ça ne fonctionne pas non plus avec ces données la....

J'ai bien tenté de faire analysé chaque valeur 1 a 1 sous VBA excel, mais avec 4 millions d'enregistrements à vérifier ça risque d'être long... (J'en avais pour près de 10 minutes pour 400 000 enregistrements)

Je pourrais tenté avec VB.NET mais je doute que ca soit plus performant.

Merci de votre aide!
mardi 16 décembre 2008 à 23:25:43 | Re : Sélectionner le max d'une VarChar

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Salut

Regardes du coté de CAST et CONVERT
c'est pas parce que le nombre est en ecriture scientique que la comparaison
ne fonctionne pas

normalement

SQL server detectera 16E15 < 16E15 +1 (c'est un nombre au hasard
car le nombre sera stocké sur 32 ou 64 bits.
L'ecriture c'est pour simplifié l'affichage.

Bonne convertion
jeudi 18 décembre 2008 à 14:13:58 | Re : Sélectionner le max d'une VarChar

PatBlarg

Ça fonctionne! Presque... pas sur toute mes tables.
J'ai utilisé Cast(Data as real)

Il semblerait que mon logiciel écrit à quelque fois d'autres types de données qui me sont inconnues. Quand je spécifie une plage de temps et que ce genre de donnée s'y trouve, ca ne passe pas.

Cette donnée (qui se répète plusieurs fois) est sous forme "259::261"

Est-ce que je peux spécifié par requête SQL d'ignoré totalement les données contenant des ":" lors du cast?


jeudi 18 décembre 2008 à 14:22:50 | Re : Sélectionner le max d'une VarChar

PatBlarg

Finalement j'ai trouvé avec peu de recherche pour mon problème de ":"

Merci beaucoup pour ton aide!

Voici la requête que j'ai créé et qui me sort la valeur désirée :

SELECT max(CAST(Data as Real))
FROM [dbo].[TLData]
Where TLInstance = 11 and NOT Data LIKE '%:%' and
Timestamp between '2008-11-30'  and '2008-12-31'
jeudi 18 décembre 2008 à 18:51:01 | Re : Sélectionner le max d'une VarChar

nhervagault

Administrateur CodeS-SourceS
Les données avec des : c'est pas les minutes et les heures??
jeudi 18 décembre 2008 à 18:58:49 | Re : Sélectionner le max d'une VarChar

PatBlarg

Non, la colonne "Data" contient une valeur en kW ou en kWh dépendant des données, mais pour une raison inconnue, le logiciel semble écrire des "codes" qui contient des ":" pour son propre fonctionnement. (Je n'ai aucun controle sur celui-ci.)

Par contre, la colonne Timestamp contient bel et bien l'heure en plus de la date, mais ce n'était pas cette colonne là qui me posait problème.


Cette discussion est classée dans : problème, sql, valeur, sélectionner, varchar


Répondre à ce message

Sujets en rapport avec ce message

Problème procedure sql [ par toomsbzh ] Bonjour,J'ai un problème lorsque je veux mettre ma procédure sous oracle il me dis que j'ai une erreur de compilation mais je ne vois pas où, si vous Problème de date [ par kidpigeyre ] Voila mon problème : Je dois afficher les emplacements libres d'un certain type entre deux dates (date_debut et date_fin) en sql access.Voici mes deux Activation des connexions distantes sous MSSQL Express [ par dragon ] Pour que les connexions distantes fonctionnent sous Microsoft SQL 2005 express, il faut que TCP/IP soit activé. Aucun problème, sauf que je suis en tr Problème requête SQL [ par younes371 ] Bonjour,J'ai fait cette requette, mais ça marche pas !SELECT id, nom,FROM table2WHERE idIN ( SELECT idLFROM table3WHERE idA =  '2' )MySQL a répondu:#1 Problème de conversion Access -> SQL Server 2000 [ par NHenry ] BonjourJ'ai un petit problème, lorsque je tente de convertir (avec l'outils fournis avec SQL Server 2000 Developper edition) une base de données (Acce Problème pour installer SQL Server Express 2005 [ par OneHacker ] Alors je reposte pour la 3eme fois ce sujet car je n'ai toujours pas eu de réponses.Je suis aller sur ce lien pour télécharger SQL Server Problème de copnversion Access -> SQL Server 2000 champs Date [ par NHenry ] BonjourJ'ai un problème : Lorsque j'utilise l'assistant d'importation/exportation de données entre Access et SQL Server 2000, il me convertit les cha sql server [ par fatamota ] Selon notre étude on as administrer une base de donner a l aide de SQL Server et ça marche très bien mais le problème c la création de cette base sous login problème [ par astuces_jeux ] bonjour,jai créer ma page login et tout sa (inscription, connection, etc ...)et jai demander conseil pour faire ma base je neconnais pas bien le mysql Problème bizarre avec SQL Srv 2005 [ par white_mage ] <span lang="FR-CH"


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,186 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales