2013-03-12 13 views
5

Muszę wiedzieć, jak uzyskać maksymalną rozmiaru określonej kolumny w mysql, tabela jestPobiera długość max dopuszczalne w kolumnie, 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 

kolumna:

`nombreTurno` varchar(20) COLLATE utf8_spanish2_ci NOT NULL 

i powinien dostać:

20 

im uzyskiwanie:

NULL 

zapytanie:

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

nadzieję, że może mi pomóc, dziękuję

+0

zrobić ci haveany zapisy na stole? –

+0

Nie, nie mam żadnego rekordu, wartość, której potrzebuję, dotyczy struktury tabeli. – user2132046

Odpowiedz

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

ta kwerenda zwraca maksymalną długość obecnych zapisów w DB.

Domyślam się, że nie masz żadnych rekordów, więc zwraca zero.

+0

to nie jest to, o co on prosi. Chce maksymalnej możliwej długości pola (która powinna wynosić 20), a nie maksymalnej wartości zawartej w rzędzie w polu. – dnagirl

+0

Wiem, próbowałem tylko wyjaśnić, dlaczego otrzymuje tę "zerową" wartość. Możesz mieć trochę informacji o swojej dziedzinie, może to pomoże lepiej POKAŻ PAKIETY OD tableName WHERE Field = 'yourField' –

Powiązane problemy