В SqlServer при запросе данных перехватывать поля

Функция SQLServer SubString предлагает [параметр длины, переданный в функцию LEFT или SUBSTRING, недействителен] решение ошибки

①Перехватить содержимое до определенного символа, в противном случае вернуть эту строку.

case
when CHARINDEX ('-' , ISNULL(a.Depart,''))-1 >0 then CHARINDEX ('-' , ISNULL(a.Depart,''))-1
when CHARINDEX ('-' , ISNULL(a.Depart,''))-1 <=0 then LEN(ISNULL(a.Depart,''))
end, LEN(ISNULL(a.Depart,''))) OutDepart2

②Перехватить содержимое после определенного символа, в противном случае вернуть эту строку.

 case 
when CHARINDEX ('-' , ISNULL(a.Depart,'')) >0 then CHARINDEX ('-' , ISNULL(a.Depart,''))+1
when CHARINDEX ('-' , ISNULL(a.Depart,'')) <=0 then 1
end , LEN(ISNULL(a.Depart,''))) OutDepart2

Если у вас возникнут проблемы с SQL, вы можете остаться внизу и общаться вместе.

Guess you like

Origin blog.csdn.net/weixin_45963929/article/details/125968828