Valeurs numérique dans SQL [Résolu]

Signaler
Messages postés
127
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
13 mars 2010
-
Messages postés
193
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
3 juin 2016
-
Bonjour à tous !

J'aurais juste voulu savoir quel type de champs était le plus adapté pour stocker (et afficher) des valeurs numériques (204, 5550 ...) sous SQL

Jusqu'a présent jutilisais un VARCHAR traditionnel mais je crois qu'on peux optimiser ceci :)

Merci :p

Antho

19 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
VARCHAR est réservé aux chaines de caractères

INT aux nombres

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
"

est ce que dans INT je peux mettre des caracteres normal genre "à" ou "V" ..."

Moi j'ai l'impression que y'en a qui refléchissent jamais quand ils posent une question.

C'est un peu dans le genre :
"Est ce qu'il peut pleuvoir si le ciel est tout bleu ?"

Nan mais jte jure :o
Messages postés
127
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
13 mars 2010

est ce que dans INT je peux mettre des caracteres normal genre "à" ou "V" ...

Antho
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
t'as testé ???



si t'avais testé, t'aurais pas posé cette question !



INT INTEGRER NOMBRE ENTIER DE 32 BITS !!!



sinon, t'as DOUBLE, SMALLINT, ect, mais cherche un peu sur google !!!

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
127
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
13 mars 2010

Merci pour ton extreme gentillesse

Antho
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
de rien....

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
127
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
13 mars 2010

Facile de parler quand tu connais !

je suis sur que si on cherche tu n'es pas irréprochable de justesse, d'intelligence, enfin t'es le meilleur qui ! du coup j'accept ta réponse aussi tiens ! (comme je suis con j'accept aussi les conneries)

Antho
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
"
VARCHAR est réservé aux chaines de caractères
INT aux nombres"

Bah pourtant, y'a pas besoin d'être un super as de PHP pour comprendre 2 morceaux de phrases quand même.

Et il existe de la doc SQL sur internet.
Tape VARCHAR INT SQL en francais et tu auras ta réponse en 5 secondes !

Je vois pas en quoi c'est compliqué, si tu arrives pas à faire ca, je sais pas comment tu va faire plus tard :o
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Antho, je ne vois pas en quoi sa réponse t'as aidée pour cette
question, mais je suis certain qu'elle t'aideras par la suite à ne pas
poser de questions sans avoir fait de recherches avant, sans prendre le
temps de réfléchir et de tester...


Fhx, c'est dingue, les internautes, de nos jours... ils prennent les programmeurs comme des personnes qui sont à leur service...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
127
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
13 mars 2010

Je crois que dans VARCHAR on peux mettre aussi des nombres non ?

Alors réfléchi aussi pourquoi j'ai pas compris la réponse !

J'ai préféré demander ici car je me suis dis (a juste titre en théorie quand le forum est pas parasité) que vous auriez une réponse clair comme d'hab et un bon support également.

Bref je vais aussi regarder dans la DOC mais si maintenant j'ai plus le droit de demander ici a quoi sert le forum !

Beaucoup de coders sont cool ici et savent répondre a des questions qui pour toi son simples mais pour dautre plus compliqués.

Antho
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Attend, tu me prends vraiment pour un con la :

Question initiale :
"J'aurais juste voulu savoir quel type de champs était le plus adapté
pour stocker (et afficher) des valeurs numériques (204, 5550 ...) sous
SQL
Jusqu'a présent jutilisais un VARCHAR traditionnel mais je crois qu'on peux optimiser ceci :)"

Donc la, j'imagine que tu sais qu'on peut utiliser VARCHAR pour stocker des nombres aussi. (Nombre sous forme de chaine... car si tu récupères ca, tu auras un type STRING et non pas INT !)

On te dit INT, car INT est l'abrévation de INTEGER, soit ENTIER ! Tu sais ce qu'est un entier non ? Est ce que y'a des lettres dans un ENTIER ? Non... Pourquoi la question alors ?

Maintenant, tu me dis :
"

Je crois que dans VARCHAR on peux mettre aussi des nombres non ?
Alors réfléchi aussi pourquoi j'ai pas compris la réponse !"
Pourquoi tu doutes tout à coup alors que ca marchait bien quand tu l'utilisais ? Donc ta question n'a aucun interet si ce n'est se foutre de ma gueule parce que t'as pas apprécié la remarque.

De la à dire que je suis pas cool, c'est un peu normal au vue des questions qui n'ont aucun sens... Peut-être la prochaine fois !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
comme tu veux... t'as pas du faire beaucoups de programmation, t'as du
te limiter à des langages peu typés... (ou les types de variables sont
peu importants...)



en php, tu peux faire strlen(125), tu obtiens 3, et ça n'aparait pas
plus dérangeant que ça... normalement, ce genre de "folie" doit rester
dans le domaine de la folie ! strlen('125') marche, et comme tu le
vois, tu stoques des nombres sous forme de chaine de caractères... (ce
que tu faisais en SQL) Mais on t'as toujours dit qu'on ne pouvait pas
additionner des carotes et des patates.... ou alors, tu obtient des
légumes... même principe en prog... INT nombre, CHAR chaine de
caractère... si ton char contient un nombre, il n'est pas un nombre
pour autant...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
127
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
13 mars 2010

FHX

Oui tu as raison, je me "foutais de toi", je cite. (donnant donnant) tu n'apprécie pas ? moi non plus.

Merci pour votre aide, je suis con merci de m'en avoir fais prendre conscience (INT c'est vrai que ca veux dire entier, la preuve, ya marqué dessu regarde bien).

J'utilisais VARCHAR ca marchais (non sa courrais) ? ha bon je savais pas! Ben pourtant ca s'affichais correctement sur mes pages ! incroyable ! donc ca devais fonctionner alors ...

Merci quand meme pour les précisions, ne polluons pas plus le forum si vous avez envie de me flinguer utiliser le mail ..

Antho
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
lol



mégalol



Merci pour ce moment de rire, maintenant, à moins que t'ai vraiment
envi de passer (encore plus) pour un ***, essai de réfléchir, et de
t'auto modérer...



et retiens en quelques enseignements sur les variables, les méthodes de
recherches, et le fait que même si ça fonctionne, ce n'est pas
forcément corect...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
"si ton char contient un nombre, il n'est pas un nombre pour autant..." Sauf en PHP, ou ca marche ce genre de chose :
$x = '4';
$x += 8;

echo $x; // Affiche 12 :o

"tu n'apprécie pas ? moi non plus." Allez, tant pis, tu n'as pas compris pourquoi je t'ai fait la remarque, c'est pas bien grave. Je m'en fou moi perso, c'est pour toi, pas pour moi.

M'enfin ...
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
FHX, je peux t'assurer qu'en php, t'as du transtypage, mais que c'est pas forcément super pour les programmes...

$x = '4'; //mais ici, $x n'est pas un nombre, il en
contient un, mais c'est quand même une chaine de caractère... =>
TRANSTYPAGE

$x += 8;


même si à la fin, t'as un int...
In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Ouaip, d'ailleurs c'est bien dommage. Un INT doit rester entier, une chaine doit rester une chaine.

J'ai jamais compris d'ailleurs pour PHP est resté comme ca... C'est sujet à beaucoup de problème, surtout quand tu débutes !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
lol la preuve...



Php est DEVENU comme ça...



le C n'est pas comme ça... on peut aditionner deux types char, mais '0'
et 0 sont de types char... (un char = un caractère...) 0 est le
caractère qui a pour code ascii 0, et '0' est le caractère '0' qui a
pour code ascii 48...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
193
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
3 juin 2016

Un avantage en php :
pas besoin de déclarer le type il se décalre automatiquement à l'initialisation d '1 variable donc moins de ligne à taper c'est plus souple, moins prise de tête pour les débutants et peut être plus accessible en général.
Mais d'accord c'est aussi peut-éte moins rigoureux mais à mon avis c'est fait exprès et c'est puissant .