Tonal wrote:

Вот присмерчик запроса:
select T.ID, T.N1, T.N2
from T
/*1*/where substring(T.N1 from 1 for 100) = 'www'
--/*2*/where cast(substring(T.N1 from 1 for 100) as varchar(100)) = 'ddd'

Сейчас вариант 1 возвращает строку, а вариант 2 - ничего.
Вне зависимости от наличия вычисляемого индекса.
Какой нужно и можно использовать?

А если так?
--/*3*/where cast(substring(T.N1 from 1 for 100) as char(100)) = 'ddd'

ЗЫ. Я надеюсь, что 'www' и 'ddd' - сознательно было написано :-)


--
Дмитрий Еманов

Ответить