Visualizzazione dei risultati da 1 a 3 su 3

Discussione: create table

  1. #1
    Salve, ho creato una tabella con l'sql in questo modo:

    objConn.execute("CREATE TABLE utenti (id int,nick char(30),password char(30),livello int,numero int,eMail char(50),dataDiRegistrazione char(30));")

    Ho provato questa stringa sia su access che su sqlServer, ed il risultato e' sempre lo stesso: per i campi di tipo stringa lo spazio che rimane tra la lunghezza del campo e quella della stringa viene riempita di spazi.
    Mi spiego meglio con un esempio: se il campo eMail puo' avere una lunghezza di 50 caratteri e la stringa immessa nel campo ne ha 20, i restanti 30 non rimangono vuoti, ma vengono riempiti di spazi.
    Il problema potrebbe essere aggirato togliendo gli spazi ogni volta che leggo i record, ma sarebbe meglio non metterli per niente,no? Perche' se il database lo creo dal programma access gli spazi non vengono aggiunti ed invece con la stringa sql si? c'e' un modo per evitarlo?
    Grazie, spero di essere stato chiaro.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    363
    Dipende dal tipo di dato.
    In generale
    char -> ti riempie gli spazi vuoti
    varchar -> non riempie gli spazi vuoti (okkio che ogni database ha il suo tipo specifico: nvarchar per SQL Server, varchar2 per Oracle, ecc.)

  3. #3
    Grazie mille Squid, pero' cosa intendi per "nvarchar per SQL Server, varchar2 per Oracle, ecc."?
    Intendi dire che usando SQL Server devo scrivere nvarchar(n) anziche' varchar(n)?
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.