Используйте регулярное выражение формы: \w-\d +, где \w представляет слово и \d, представляет цифру. Они не будут работать из поля, таким образом играть вокруг. Попробуйте это .
Это не дорого: идет прямо из ОС.
Я бы все равно кэшировал. Скорее всего, он будет отличаться для отдельных вызовов, если у вас есть несколько операторов. Допустим, у вас есть несколько вставок, и вы наверняка хотите, чтобы значение коррелировало между таблицами?
Если оно используется в SELECT, скажем, для вывода, то обычно оно оценивается только один раз.