Oracle
 sql >> Baza danych >  >> RDS >> Oracle

1000000 do 1M i 1000 do 1K w zapytaniu Oracle

Nie sądzę, że istnieje standardowa funkcja (poza notacją naukową), ale możesz samodzielnie zdefiniować taką funkcję:

SQL> WITH DATA AS (SELECT power(10, ROWNUM) num FROM dual CONNECT BY LEVEL <= 9)
  2  SELECT num,
  3         CASE
  4            WHEN num >= 1e6 THEN
  5             round(num / 1e6) || 'M'
  6            WHEN num >= 1e3 THEN
  7             round(num / 1e3) || 'k'
  8            ELSE to_char(num)
  9         END conv
 10    FROM DATA;

       NUM CONV
---------- -----------------------------------------
        10 10
       100 100
      1000 1k
     10000 10k
    100000 100k
   1000000 1M
  10000000 10M
 100000000 100M
1000000000 1000M



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wyjście, które ma pierwszą i ostatnią literę jako samogłoskę(a,e,i,o,u)

  2. SQL Dynamic ASC i DESC

  3. Jak eksportować za pomocą DATA_PUMP do wiadra S3?

  4. Funkcja grupy SQL zagnieżdżona zbyt głęboko

  5. Utwórz sekwencję za pomocą START WITH z zapytania