Фильтрация пустых строк в Snowflake

У меня очень простая задача, которая оказывается невыполнимой. У меня есть столбец, в котором есть строки, но также есть пробелы там, где это должно быть слово (это не NULL, это просто пустые строки). Например:

LastName1,
EmptyRow,
LastName2,
EmptyRow,
EmptyRow,
LastName3...

Поскольку пустые строки не являются NULL, функция IS NOT NULL не работает.

В конечном результате мне просто нужно отфильтровать все строки, в которых действительно есть значения, и избавиться от всех пустых строк. Может кто-нибудь дать предложение?


person Agnieshka    schedule 01.07.2020    source источник


Ответы (3)


Вы можете отфильтровать эти записи, применив к ним функцию ДЛИНА.

WHERE LENGTH(TRIM(COL_NAME)) > 0
person Shantanu Kher    schedule 01.07.2020

Если есть сочетание отдельных пробелов, без пробелов и нулей, я использую что-то вроде этого

где Coalesce (trim (фамилия), '') ‹› ''

person Mike Gohl    schedule 01.07.2020

Вам нужно знать, что означает пустая строка. Скорее всего, это пустая строка:

where lastname > ''

Если вам нужно быть уверенным, что есть хотя бы одна буква, вы можете использовать:

where lastname regexp '[a-zA-Z]'

or:

where lastname regexp '[[:alpha:]]'
person Gordon Linoff    schedule 01.07.2020