MS SQL formuły w polach

MS SQL formuły w polach
M7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 18
0

Witam,
mam prostą tabelę z kolumnami:
wartosc A,
wartosc B,
formula

pierwsze 2 pola to liczby, pole formula ma np wartość 'wartosc A * wartosc B' lub zawiera wzór dowolnego działania matematycznego na polach wartosc A i wartosc B.
Czyli np:

5
8
'wartosc A * wartosc B'

Jak napisać SELECT żeby uzyskać odpowiedź:
5
8
40

pozdrawiam i dziękuję
Marcin

  • Rejestracja: dni
  • Ostatnio: dni
0

Jak? To jest proste. Dynamic SQL. Czyli np:

Kopiuj
declare  @sql_stm nvarchar(1024)
SET @sql_stm = 'SELECT ' + formula + ' FROM tabela'
EXEC sp_executesql @sql_stm 

Tylko kłopoty zaczynają się, gdy serwer SQL inaczej zinterpretuje wyrażenie niż człowiek, który je wpisał. Na przykład należałoby wpisać coś w stylu '[wartosc A] * [wartosc B]' zamiast 'wartosc A * wartosc B'. Czyli kłania się stworzenie interpretera wyrażeń.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.