[SGBD] Difference entre "" et NULL [MAJ Informix]

Difference entre "" et NULL [MAJ Informix] [SGBD] - SQL/NoSQL - Programmation

Marsh Posté le 25-03-2003 à 15:18:20    

Voila je cherche a savoir quelle BdD font la difference entre la string vide et le NULL.
-Résolu
MySQL : oui j'en suis sur
Oracle : OUi (merci djok_fb)
DB2 : oui (merci genesis)
SQL Server : oui (djok_fb)
 
Access  :ange: mareek tu me decois  :lol:  
 
-Je rajoute  
Informix : ?
 
 
+ Une explication de la difference entre String vide et NULL a été faite dans la suite (merci a ceux qui ont expliqué)
 
Merci
 
EDIT : UPDATE Informix


Message édité par mauvais_karma le 26-03-2003 à 14:36:38
Reply

Marsh Posté le 25-03-2003 à 15:18:20   

Reply

Marsh Posté le 25-03-2003 à 15:39:52    

Oracle aussi fait la difference...
SQLServer aussi
 
DB2, chais pas, j'ai jamais touché
 
il me semble que faire la difference entre NULL et '' fait parti de la norme SQL...


Message édité par djok_fb le 25-03-2003 à 15:40:25
Reply

Marsh Posté le 25-03-2003 à 16:11:37    

djok_fb a écrit :

Oracle aussi fait la difference...
SQLServer aussi
 
DB2, chais pas, j'ai jamais touché
 
il me semble que faire la difference entre NULL et '' fait parti de la norme SQL...


 
tu es sur pour Oracle j'ai entendu le contraire

Reply

Marsh Posté le 25-03-2003 à 16:20:34    

je viens de tester sur SQLWorksheet
 
j'ai fait "select * from table where champ='';"
ca m'a rien renvoyé
par contre, le "select from table where champ is null;"
m'en renvoie une tripotée (Oracle 8i v8.1.7.4.1)


Message édité par djok_fb le 25-03-2003 à 16:20:46
Reply

Marsh Posté le 25-03-2003 à 16:53:22    

djok_fb a écrit :

je viens de tester sur SQLWorksheet
 
j'ai fait "select * from table where champ='';"
ca m'a rien renvoyé
par contre, le "select from table where champ is null;"
m'en renvoie une tripotée (Oracle 8i v8.1.7.4.1)


 
ok merci.

Reply

Marsh Posté le 25-03-2003 à 16:55:56    

Je cherche aussi quelquechose pour voir si mes requete sont copmpatible avec plusieurs base de donnée, quelqu un a site ou un prog pour faire ca ?
 
(verif des type et syntax)
 
Merci

Reply

Marsh Posté le 25-03-2003 à 17:58:22    

théoriquement tous les SGBD digne de ce nom gére la norme SQL/92 mais il semblerait que, par exemple, Oracle ait décidé de faire son boulzor en modifiant des trucs (et il doit pas être le seul a faire son boulet)
tu dois donc pouvoir trouver des infos sur la norme SQL/92


Message édité par djok_fb le 25-03-2003 à 17:58:47
Reply

Marsh Posté le 25-03-2003 à 18:10:27    

:heink: je comprends pas trop vos histoires en NULL et "", la différence n'est pas claire?

Reply

Marsh Posté le 25-03-2003 à 18:23:33    

Mauvais_Karma a écrit :

Voila je cherche a savoir quelle BdD font la difference entre la string vide et le NULL.
 
MySQL : oui j'en suis sur
Oracle : OUi (merci djok_fb)
DB2 : ?
SQL Server : oui (djok_fb)
 
Merci
 
EDIT : UPDATE

Access aussi fait la différence.
 
 
OK, je sors
[:neowen]


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 25-03-2003 à 18:55:53    

Mauvais_Karma a écrit :

Voila je cherche a savoir quelle BdD font la difference entre la string vide et le NULL.
 
MySQL : oui j'en suis sur
Oracle : OUi (merci djok_fb)
DB2 : ?
SQL Server : oui (djok_fb)
 
Merci
 
EDIT : UPDATE


 
 
DB2 sait faire la difference.
 
 
voila voila

Reply

Marsh Posté le 25-03-2003 à 18:55:53   

Reply

Marsh Posté le 25-03-2003 à 20:48:13    

++Taz a écrit :

:heink: je comprends pas trop vos histoires en NULL et "", la différence n'est pas claire?


 
[+1] y a une sacrée différence dans les concepts ...

Reply

Marsh Posté le 25-03-2003 à 20:50:46    

djok_fb a écrit :

Oracle aussi fait la difference...
SQLServer aussi
 
DB2, chais pas, j'ai jamais touché
 
il me semble que faire la difference entre NULL et '' fait parti de la norme SQL...


C'est même pas la norme SQL, mais les rudiments de la programmation. La chaîne vide est un pointeur de chaîne qui pointe nulle part, alors que null est une constante qui vient écraser un pointeur ou une variable si elle n'est pas initialisée.
 
A noter toutefois que sous Oracle, le type "varchar2" ne fait pas la différence entre '' et NULL, pour ce type, c'est ' ' qui est la chaîne vide.

Reply

Marsh Posté le 25-03-2003 à 20:51:55    

MagicBuzz a écrit :


C'est même pas la norme SQL, mais les rudiments de la programmation. La chaîne vide est un pointeur de chaîne qui pointe nulle part, alors que null est une constante qui vient écraser un pointeur ou une variable si elle n'est pas initialisée.
 
A noter toutefois que sous Oracle, le type "varchar2" ne fait pas la différence entre '' et NULL, pour ce type, c'est ' ' qui est la chaîne vide.


 
:heink:

Reply

Marsh Posté le 25-03-2003 à 20:52:46    

Si tu préfère, la chaîne vide est un pointeur de chaîne qui pointe sur u tableau de 0 octets.

Reply

Marsh Posté le 25-03-2003 à 21:17:47    

MagicBuzz a écrit :

Si tu préfère, la chaîne vide est un pointeur de chaîne qui pointe sur u tableau de 0 octets.

une chaine n'est pas forcement un pointeur, ça dépends des langages.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 25-03-2003 à 21:52:49    

A partir du moment où c'est un tableau, c'est forcément un pointeur. C'est pas parceque tu le vois pas (VB par exemple, qui n'est pas censer supporter les pointeurs) que c'est pas un pointeur.

Reply

Marsh Posté le 26-03-2003 à 09:40:57    

djok_fb a écrit :

théoriquement tous les SGBD digne de ce nom gére la norme SQL/92 mais il semblerait que, par exemple, Oracle ait décidé de faire son boulzor en modifiant des trucs (et il doit pas être le seul a faire son boulet)
tu dois donc pouvoir trouver des infos sur la norme SQL/92


 
 
oui je suis d'accord avec Toi, y aune "norme" SQL/92 mais tous les SGBD s'y conforme t-il ? je ne pense pas.
 
Sinon es ce que quelqu un a develloppe un prog/App qui peut utiliser plusieurs base de donnée ? Y a t il d'enorme modif a faire ?
 
Merci a tous pour vos réponse  :)

Reply

Marsh Posté le 26-03-2003 à 10:49:08    

Mauvais_Karma a écrit :


 
 
oui je suis d'accord avec Toi, y aune "norme" SQL/92 mais tous les SGBD s'y conforme t-il ? je ne pense pas.
 
Sinon es ce que quelqu un a develloppe un prog/App qui peut utiliser plusieurs base de donnée ? Y a t il d'enorme modif a faire ?
 
Merci a tous pour vos réponse  :)  


 
je developpe effectivement pour plusieurs sgbdr. c'est tres dependant du language de prog.je suis en dotnet, et pour l'instant la solution  est de passé par des oledbadapter. ce qui me permet de taper indifferemment dans de nombreuses bases (au detriment de certaines perfs je l'accorde).

Reply

Marsh Posté le 26-03-2003 à 11:08:26    

Mauvais_Karma a écrit :


 
 
oui je suis d'accord avec Toi, y aune "norme" SQL/92 mais tous les SGBD s'y conforme t-il ? je ne pense pas.
 
Sinon es ce que quelqu un a develloppe un prog/App qui peut utiliser plusieurs base de donnée ? Y a t il d'enorme modif a faire ?
 
Merci a tous pour vos réponse  :)  


 
ben oracle, c'est sur que non
SQLServer, il a pas les meme noms pour les fonctions (substr devient substring)
dans toutes les DB, les valeurs pour la date systéme, c'est pas la meme (sydate, now, ...)
 
bref, c'est la merde, je parle meme pas des trucs un peu folklorique comme Unibasic et son SQL a 2 balles (faut dire, UB, c'est du multivalué et le SQL, c'est pas fait pour)

Reply

Marsh Posté le 26-03-2003 à 11:08:54    

genesis a écrit :


 
je developpe effectivement pour plusieurs sgbdr. c'est tres dependant du language de prog.je suis en dotnet, et pour l'instant la solution  est de passé par des oledbadapter. ce qui me permet de taper indifferemment dans de nombreuses bases (au detriment de certaines perfs je l'accorde).


 
 :jap:  
ok donc je recherche la meme chose mais pour le Java

Reply

Marsh Posté le 27-03-2003 à 11:20:50    

informix: aucune idée...
mais ca fait un UP

Reply

Marsh Posté le 27-03-2003 à 14:15:32    

Pas bien de parler de grossieretes comme unibasic, jok :non:
Ca meriterait un tt :o

Reply

Marsh Posté le 27-03-2003 à 14:57:04    

PostgreSQL --> Oui

Reply

Marsh Posté le 27-03-2003 à 15:19:00    

Muchacho a écrit :

Pas bien de parler de grossieretes comme unibasic, jok :non:
Ca meriterait un tt :o


kesse tu fous la, c'est pas ta section :D
 
pis de toute facon, personne connais unibasic...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed