2016-09-20 2 views
0

Я пытаюсь проверить, не начинается ли значение столбца без целого числа. Столбец должен быть 8 цифр и является Integer. У меня есть одно значение, которое начинается с букв, и я не могу по какой-то причине выбрать строку с ней. Я пытаюсь установить это значение только пустым пустым, но эта строка не извлекается.Проверьте, не начинается ли столбчик с не целого

Я пробовал использовать LIKE и REGEXP, но они не работают или способ, которым я пользуюсь, не работает.

EDIT: Я получаю исключение Не могу разобрать SQL-запрос, когда я использую REGEXP. Когда я использую int, он дает ошибку преобразования данных, поэтому значение начинается с букв.

Пример 1:

CASE 
WHEN Column LIKE '^[0-9]' THEN Column = '' 
END 

Пример 2:

CASE 
WHEN Column REGEXP '^[0-9]' THEN Column = '' 
END 
+0

LIKE не использует операторы регулярных выражений, поэтому первый должен завершиться ошибкой –

+0

REGEXP '^ [0-9] + $'; –

+0

В качестве альтернативы, как насчет usnig 'CAST', чтобы вы вводили тип данных в' unsigned', и это приведет к тому, что вывод столбца будет целым, если он начинается с чисел, он будет равен нулю или нулю (я не уверен, что поэтому это всего лишь комментарий) – Martin

ответ

0

Просто, чтобы преобразовать значения, которые не начинаются с номером к emptystring во время вашего выбора вы можете использовать:

CASE 
    WHEN Column REGEXP '^[0-9]' THEN Column ELSE '' 
END 

 Смежные вопросы

  • Нет связанных вопросов^_^