2015-08-12 6 views
0

У меня вопрос новичка к SQL-запросам: как выбрать строки таблицы, удовлетворяющие условию, заданному в виде функции столбцов? Более конкретно, у меня есть таблица с струнной «темой», которая на самом деле является пустой или содержит целую строку, и я хотел бы сделать что-то вроде (в работоспособном Манере)Выбрать с условием на значение функции

SELECT * FROM table WHERE Convert(int,'topic') BETWEEN 1 AND 10; 

Как это можно сделать? (Вышеупомянутый синтаксис кажется неправильным ...)

ответ

3

Либо использовать неявной

SELECT * FROM your_table WHERE topic BETWEEN 1 AND 10; 

или явная

SELECT * FROM your_table WHERE cast(topic as signed) BETWEEN 1 AND 10; 
+0

Отлично, что делает :-)! – dmw64

2

Вы можете использовать «бесшумное» средство преобразования MySQL. Это преобразует ведущие цифры строки в число в числовом контексте. Если таких чисел нет, то возвращается 0.

Так, для примера, вы можете просто сделать:

where topic + 0 between 1 and 10 

Если строка не имеет первых цифр, это возвращает ложь.

+0

Спасибо большое !!! – dmw64

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