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 № 1Myś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