Всем привет!
Дана строка:
st1/201804190800
Подскажите, пожалуйста, как получить часть строки до наклонной черты, если количество знаков в ней не постояное?
Т.е. может быть st12/201804190800 или st123/201804190800
Привет.
Даю подсказку, функция Index() (https://help.qlik.com/ru-RU/sense/September2017/Subsystems/Hub/Content/Scripting/StringFunctions/Index.htm) возвращает положение символа, и , следовательно, определяет границу обрезки для команды left() (https://help.qlik.com/ru-RU/sense/September2017/Subsystems/Hub/Content/Scripting/StringFunctions/Left.htm) или right(), в зависимости от задачи.
Спасибо, но с Index() и Left() ничего не получается.
Вот это работает:
Left(yourFeld, Len(yourFeld)-13)
С помощью SubField() можно получить значение хоть до, хоть после символа.
Да, спасибо, работает:
SubField(yourFeld, '/' ,1)
Цитата: Tatsiana от 30 мая 2018, 11:25:31
Спасибо, но с Index() и Left() ничего не получается.
Быть не может. Проверьте:
left('st12/201804190800',index('st12/201804190800','/')-1)
или
left(yourFeld,index(yourFeld,'/')-1)
В справке (https://help.qlik.com/ru-RU/sense/September2017/Subsystems/Hub/Content/Scripting/StringFunctions/Index.htm)аналогичный пример:
ЦитироватьLeft( Date, Index( Date,'-') -1 ) where Date = 1997-07-14 Возвращает 1997
Да, действительно работает. Спасибо!
Теперь у меня есть три варианта ;)
Предпочтение лучше отдавать SubField(), т.к. для этого и создана.