2013-03-12 13 views
5

ho bisogno di sapere come ottenere la dimensione massima di una colonna specifica in MySQL, il tavolo èOttenere la lunghezza massima consentita nella colonna, mysql

Turno:

CREATE TABLE `turno` ( 
`idTurno` tinyint(4) NOT NULL, 
`nombreTurno` varchar(20) COLLATE utf8_spanish2_ci NOT NULL, 
`horaInicio` tinyint(4) NOT NULL, 
`horafin` tinyint(4) NOT NULL, 
`valorTurno` int(11) NOT NULL, 
PRIMARY KEY (`idTurno`)) 
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci 

colonna:

`nombreTurno` varchar(20) COLLATE utf8_spanish2_ci NOT NULL 

dovrei ottenere:

20 

im ottenendo:

NULL 

la query:

SELECT MAX(LENGTH(nombreTurno)) AS maxl 
FROM turno 

spero che mi può aiutare, grazie

+0

Sei il record haveany sul tuo tavolo? –

+0

no non ho alcun record, il valore di cui ho bisogno riguarda la struttura della tabella. – user2132046

risposta

12
select COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH 
from information_schema.columns 
where table_schema = DATABASE() AND -- name of your database 
     table_name = 'turno' AND  -- name of your table 
     COLUMN_NAME = 'nombreTurno'  -- name of the column 
0

questa query restituisce la lunghezza massima dei record attuali nel vostro DB.

Suppongo che tu non abbia alcun record, quindi restituisce null.

+0

questo non è quello che sta chiedendo. Vuole la massima lunghezza possibile del campo (che dovrebbe essere 20), non il valore massimo contenuto in una riga nel campo. – dnagirl

+0

Lo so, stavo solo cercando di spiegare perché ottiene questo valore "nullo". Puoi avere alcuni dettagli sul tuo campo, forse questo ti aiuterà meglio MOSTRA CAMPI DA tableName WHERE Field = 'yourField' –

Problemi correlati