- Я использую амазонку красное смещение в моем хранилище данных
- У меня есть поле (FIELD1) типа строки. Некоторые из строк начинаются с четырьмя цифрами и другими буквами:
«альфа-тест»
«1382 тест бета»IsNumeric в SQL Server() эквивалент в амазонки красного смещения
- Я хочу, чтобы отфильтровать строки, где строка не начинается с четырех номера
- Глядя на документацию красного смещения, я не верю, что numbernumber или isnumeric являются функциями. Кажется, что «подобная» функция - лучшая возможность.
Я попытался
где слева (field1, 4) как '[0-9] [0-9] [0-9] [0-9]
это не работать и по ссылке ниже кажется, что красное смещение не может поддерживать, что:
https://forums.aws.amazon.com/message.jspa?messageID=439850
есть ошибка в «где» п? если нет, и это предложение не поддерживается в redshift, есть ли способ фильтрации? Я думал об использовании литого
cast(left(field1,4) as integer)
, а затем проходя через ряд, если он генерируется сообщение об ошибке, но не знает, как это сделать в амазонки красного смещения. или есть какой-то другой прокси-сервер для isnumeric filter.
благодаря
ваш пример не работает на PostgreSQL. ILIKE не поддерживает регулярные выражения. Amazon Redshift основан на PostgreSQL 8.0.2, поэтому, возможно, вы можете использовать SIMILAR-оператор http://www.postgresql.org/docs/8.0/interactive/functions-matching.html#FUNCTIONS-SIMILARTO- REGEXP, потому что, возможно, это ключевое слово SIMILAR. .. некоторые вроде подстроки SELECT ('1234 xxx' FROM 1 FOR 4), аналогичной '[\ d] {4}'; –