Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2392 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] type char et norme SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] type char et norme SQL

n°491407
simogeo
j'ai jamais tué de chats, ...
Posté le 19-08-2003 à 16:37:44  profilanswer
 

le type char de MySQL est-il normé SQL ou pas ?
dans le cas contraire j'utiliserai varchar
 
il me semble que non, je souhaiteri avoir confirmation, merci  :)  
 
 :hello:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
mood
Publicité
Posté le 19-08-2003 à 16:37:44  profilanswer
 

n°491430
simogeo
j'ai jamais tué de chats, ...
Posté le 19-08-2003 à 16:47:00  profilanswer
 

la question reste encore valable...
 
par contre lorsqu'on declare un champ de type varchar(1) il passe automatiquement en char(1) :/ ... sachez-le !  :whistle:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°491712
MagicBuzz
Posté le 19-08-2003 à 21:05:36  profilanswer
 

:lol:

n°491779
simogeo
j'ai jamais tué de chats, ...
Posté le 19-08-2003 à 21:45:29  profilanswer
 


[:mlc] .. ca veut dire quoi ca ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°491783
MagicBuzz
Posté le 19-08-2003 à 21:47:51  profilanswer
 

que varchar(1) est automatiquement transformé en char(1) :)
 
surtout si mysql le fait dans ton dos sans rien te dire, ja contribue grandement à l'idée que j'ai de ce superbe sgbd :D

n°491787
simogeo
j'ai jamais tué de chats, ...
Posté le 19-08-2003 à 21:52:54  profilanswer
 

MagicBuzz a écrit :

que varchar(1) est automatiquement transformé en char(1) :)
 
surtout si mysql le fait dans ton dos sans rien te dire, ja contribue grandement à l'idée que j'ai de ce superbe sgbd :D


soyons sérieux ... en même temps, il le fait pour le bie de l'humanité  :o  
 
en réalité, que ca soit l'un ou l'autre .... on n'y gagne rien en terme d'économie de poids  :sweat:  
mais il a surement une bonne raison de le faire.
 
et alors tu me confirmer : char ... c'est pas normé SQL ?
 
Pour avoir bossé un peu sur SQLServer, je suis d'accord pour dire que c'est pas un SGBD de paidais  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°491791
MagicBuzz
Posté le 19-08-2003 à 21:57:20  profilanswer
 

Pour SQL Server, ils sont conformes à SQL 92, ainsi que nchar et nvarchar (caractères unicodes)
 

char and varchar
Fixed-length (char) or variable-length (varchar) character data types.
 
char[(n)]
 
Fixed-length non-Unicode character data with length of n bytes. n must be a value from 1 through 8,000. Storage size is n bytes. The SQL-92 synonym for char is character.
 
varchar[(n)]
 
Variable-length non-Unicode character data with length of n bytes. n must be a value from 1 through 8,000. Storage size is the actual length in bytes of the data entered, not n bytes. The data entered can be 0 characters in length. The SQL-92 synonyms for varchar are char varying or character varying.
 
Remarks
When n is not specified in a data definition or variable declaration statement, the default length is 1. When n is not specified with the CAST function, the default length is 30.
 
Objects using char or varchar are assigned the default collation of the database, unless a specific collation is assigned using the COLLATE clause. The collation controls the code page used to store the character data.
 
Sites supporting multiple languages should consider using the Unicode nchar or nvarchar data types to minimize character conversion issues. If you use char or varchar:  
 
Use char when the data values in a column are expected to be consistently close to the same size.
 
 
Use varchar when the data values in a column are expected to vary considerably in size.  
If SET ANSI_PADDING is OFF when CREATE TABLE or ALTER TABLE is executed, a char column defined as NULL is handled as varchar.  
 
When the collation code page uses double-byte characters, the storage size is still n bytes. Depending on the character string, the storage size of n bytes may be less than n characters.


 
On note d'ailleurs que SQL Server est pas beaucoup mieu que MySQL pour le coup du changement de type sans rien dire :whistle:  
M'enfin bon, ça n'arrive que dans un cas très précis, et c'est documenté (et faut être un gros boulet pour pas le trouver dans la doc) :D
Par contre, c'est dans l'autre sens :)
 
Bon, après, ça dépends de la façon dont le système gère les deux types...


Message édité par MagicBuzz le 19-08-2003 à 21:58:49
n°491794
simogeo
j'ai jamais tué de chats, ...
Posté le 19-08-2003 à 21:59:47  profilanswer
 

MagicBuzz a écrit :


 
On note d'ailleurs que SQL Server est pas beaucoup mieu que MySQL pour le coup du changement de type sans rien dire :whistle:  
M'enfin bon, ça n'arrive que dans un cas très précis, et c'est documenté (et faut être un gros boulet pour pas le trouver dans la doc) :D
Par contre, c'est dans l'autre sens :)


 :lol:  :D c'est bien la peine de te moquer  :sol:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°491795
MagicBuzz
Posté le 19-08-2003 à 22:00:05  profilanswer
 

Par contre, pour MySQL et son type char, je sais pas. J'ose espérer que c'est standard... Mais bon, y'a tellement de trucs pas standard dans ce sgbd qu'à la base je veux rien affirmer sans en être sûr :)

n°491796
MagicBuzz
Posté le 19-08-2003 à 22:00:41  profilanswer
 

simogeo a écrit :


 :lol:  :D c'est bien la peine de te moquer  :sol:  


Vi mais non, c'est la doc qui bug :ange:

mood
Publicité
Posté le 19-08-2003 à 22:00:41  profilanswer
 

n°491800
simogeo
j'ai jamais tué de chats, ...
Posté le 19-08-2003 à 22:05:05  profilanswer
 

MagicBuzz a écrit :

Par contre, pour MySQL et son type char, je sais pas. J'ose espérer que c'est standard... Mais bon, y'a tellement de trucs pas standard dans ce sgbd qu'à la base je veux rien affirmer sans en être sûr :)


il y a le type enum et le type set .. non standard .. pour le reste c'est ok ... seul doute persistent sur char  :whistle:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°491824
MagicBuzz
Posté le 19-08-2003 à 22:18:06  profilanswer
 

j'ai l'impression que mysql adapte les normes à sa sauce d'une version à l'autre, donc t'es pas rendu :/
 
http://darkstar.ist.utl.pt/mysql/d [...] _ANSI.html
 
Là j'ai un varchar non conforme, et un char qui se change en varchar tout seul

n°491829
MagicBuzz
Posté le 19-08-2003 à 22:22:03  profilanswer
 

doc plus récente, apparement officielle, qui confirme le précédent post : varchar et char ne sont pas conformes à sql92
 
http://www.dwam.net/docs/mysqle3.2 [...] _from_ANSI


Message édité par MagicBuzz le 19-08-2003 à 22:22:15
n°491861
simogeo
j'ai jamais tué de chats, ...
Posté le 19-08-2003 à 22:47:45  profilanswer
 

[:sisicaivrai]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] type char et norme SQL

 

Sujets relatifs
[SQL] insertion pb de clé (DTS SQL SERVER)PHP/MySQL: Comment afficher une image BLOB
Comment afficher les données contenues dans une table mysql[mySQL] c'est quoi un tableau associatif ??
[MYSQL] petite question sur la syntaxe des types de variablesRéaction étrange du serveur MySQL avec le UNIX_TIMESTAMP
[mySQL] probléme avec addslashes[PHP] Demande d'infos à Propos de mysql_fetch_array
[SQL]jointure entre 3 tables[problemes mysql] innodb inside
Plus de sujets relatifs à : [MySQL] type char et norme SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR