/ / HAVING LENGTH (field) w MySQL - mysql, sql

HAVING LENGTH (field) w MySQL - mysql, sql

Próbuję wybrać wiersze z polem timestamp, który ma długość krótszą niż 16 znaków. Próbowałem:

SELECT LENGTH(timestamp), id
FROM my_table
HAVING LENGTH(timestamp) < 16

Ale pojawia się ten błąd:

# 1054 - Nieznana kolumna "znacznik czasu" w "o klauzuli"

Jakieś sugestie?

Odpowiedzi:

8 dla odpowiedzi № 1

Myślę, że chcesz:

SELECT LENGTH(`timestamp`), id
FROM my_table
WHERE LENGTH(`timestamp`) < 16

Lub jeśli faktycznie próbujesz pogrupować wyniki ...

SELECT LENGTH(`timestamp`)
FROM my_table
GROUP BY LENGTH(`timestamp`)
HAVING LENGTH(`timestamp`) < 16

Zwróć uwagę na backticks (`) w każdym przykładzie, aby uniknąć nazwy kolumny.


0 dla odpowiedzi nr 2

Myślę, że będzie to działać na rzecz:

SELECT DISTINCT
LENGTH(timestamp)
FROM my_table
WHERE LENGTH(timestamp) < 16