Как мне найти значение 10 для показателя степени, определенного переменной в SQLite

У меня есть столбец в таблице, и я хочу найти значение 10 для показателя степени, определяемого значениями в этом столбце.

например Скажем, таблица называется «Таблица 1». Столбец называется «экспонента».

Таблица 1

Экспонента

3

2

2

4

И я хочу выполнить математическую операцию, которая включает

10 ^ таблица1.показатель

Как я могу это сделать?

Я пытался -

Power(10, table1.exponent)

Но SQLite не поддерживает функцию питания.

Результат будет:

1000

100

100

10000

Однако мне не нужна возвращаемая таблица. Мне нужно использовать их в математическом уравнении в запросе.


person kiwi    schedule 28.10.2019    source источник
comment
Вы можете зарегистрировать свою собственную функцию POWER в SQLLite: см. stackoverflow.com/a/13190146/8357168.   -  person jasttim    schedule 28.10.2019
comment
Попробуйте использовать CTE Я пытался добавить ответ, но не знаю, почему я не могу   -  person Silvano González    schedule 28.10.2019
comment
Если вам интересно, я разместил свой ответ здесь: stackoverflow.com/questions/13190064/   -  person Silvano González    schedule 28.10.2019


Ответы (1)


Предполагая, что переменная является целым числом, как насчет использования выражения case:

select (case exponent
            when 0 then 1
            when 1 then 10
            when 2 then 100
            when 3 then 1000
            when 4 then 10000
            when 5 then 100000
            when 6 then 1000000
            when 7 then 10000000
            when 8 then 100000000
        end)

Добавление функции power() определенно более универсально, но это может сработать для ваших конкретных нужд.

person Gordon Linoff    schedule 28.10.2019