2013-12-03 2 views
1

Я не уверен, если это возможно, но я хотел бы SELECT только данные из столбца, length является > 0способы, включая ИНЕКЕ в SELECT,

, так что я знаю, что могу это сделать в whereclause, т.е.:

SELECT charNumber 
FROM tbl1 
WHERE len(charNumber) > 0 

;

Все мои друзья сказали мне, что в SELECT нет возможности сделать это, но я хотел спросить вас, если вы знаете путь.

Я думал, возможно, CASE WHEN будет работать, но я не хочу CASE WHEN '' и CASE WHEN <= 0 Я только хочу charNumber «s, которые > 0

WHERE пункт не вариант, так как я использую d2rq, не поддерживающий все, что содержится в WHERE.

+2

Я не понял вопроса. Если вы поместите свое условие в предложение WHERE, вы выбрали «SELECT» только желаемые данные, определенные в предложении WHERE. В чем проблема? –

+0

Я пытаюсь обойти WHERE, потому что D2RQ: условие не поддерживает предложение WHERE для SQL-сервера. Я хочу исключить значения, длина которых равна 0, но я не могу найти способ сделать это в части SELECT ... @Aycan – Angelina

+0

Я не эксперт D2RQ, но я думаю, что фильтрация должна выполняться с использованием его языка отображения Пример: map: Бумага a d2rq: ClassMap; d2rq: класс: бумага; d2rq: uriPattern "http://www.conference.org/conf02004/paper#[email protected]@[email protected]@"; d2rq: условие "Papers.Publish = 1"; d2rq: dataStorage map: Database1; – GayanSanjeewa

ответ

1

Ваши друзья верны. В предложении SELECT есть no контроль количества возвращаемых строк, он контролирует только то, что входит в столбцы этих строк.

Статьи WHERE, FROM и HAVING могут напрямую контролировать, какие и сколько строк возвращено.

Предложение GROUP BY может косвенно контролировать, какие строки возвращать.

+0

Мне действительно не важно, сколько строк возвращается. Может быть, мой вопрос непонятен. Я пытаюсь сделать что-то, что, вероятно, невозможно ... включить условие в SELECT – Angelina

+0

@ Ангелина, то да, ваш вопрос непонятен. – RBarryYoung

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