Как хранить до и после десятичного значения в 2 разных столбцах - PullRequest
0 голосов
/ 14 октября 2019
Name    Gender  Amount
Ram male    20.56
Bhavna  female  78.2
darshan male    12.02
Avni    female  50.366

Я хочу разделить столбец суммы на 2 части, где один столбец включает в себя до десятичного значения (т. Е. 20,56 = 20), а второй столбец включает после десятичного значения (т. Е. 20,56 = 56) ...

Ответы [ 4 ]

1 голос
/ 14 октября 2019

Вы можете использовать этот запрос для получения ожидаемого результата, например,

Сумма: 20,56

Чтобы получить «20» в качестве вывода, мы можем использовать этот запрос

SELECT FLOOR(20.56) FROM TABLE_NAME

& Чтобы получить точное значение '56' в качестве вывода, мы можем использовать этот запрос

SELECT FLOOR((20.56 - FLOOR(20.56))*100) FROM TABLE_NAME
1 голос
/ 14 октября 2019

- проверьте этот запрос

select amount, decode (pos,0,amount,substr(amount,1,pos-1)) as before_decimal , 
       decode(pos,0,0,substr(amount,pos+1,length(amount))) as after_decimal 
  from (
         select instr((substr(amount,1,length(amount))),'.') as pos,amount 
         from  table_name
       )
0 голосов
/ 14 октября 2019

Если вы хотите, чтобы они были в отдельных столбцах, вы можете использовать арифметические функции:

select t.*, floor(val) as col_left, floor(val * 100) % 100 as col_right
from (select 20.56 as val) t
0 голосов
/ 14 октября 2019

вы можете получить числа, используя FORMAT:

FORMAT(your_number,xxxxx) --you can choose xxxxx whatever you want

использование: FORMAT (N, D)

Вы можете посмотреть, как его использовать: https://www.w3resource.com/mysql/string-functions/mysql-format-function.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...