Rumah  >  Artikel  >  pangkalan data  >  Cara melakukan transformasi data biasa dalam pertanyaan Oracle

Cara melakukan transformasi data biasa dalam pertanyaan Oracle

PHPz
PHPzasal
2023-04-04 09:11:181175semak imbas

Oracle ialah salah satu sistem pengurusan pangkalan data hubungan yang paling popular di dunia. Bahasa pertanyaannya, SQL, adalah salah satu kemahiran yang mesti ada yang digunakan oleh kebanyakan pentadbir dan pembangun pangkalan data. Walau bagaimanapun, dalam pertanyaan Oracle, kadangkala kita perlu melakukan beberapa penukaran data, seperti menukar huruf besar kepada huruf kecil atau sebaliknya. Dalam artikel ini, kita akan membincangkan cara melakukan transformasi data biasa dalam pertanyaan Oracle.

  1. Tukar huruf kepada huruf besar dan kecil

Kadangkala kita perlu menukar huruf kepada huruf besar dan kecil dalam lajur Ini boleh dilakukan dengan menggunakan LOWER terbina dalam Oracle dan fungsi UPPER. Fungsi LOWER menukar huruf besar kepada huruf kecil, dan fungsi UPPER menukar huruf kecil kepada huruf besar. Sebagai contoh, pernyataan berikut akan menukar kes lajur nama akhir dalam jadual pekerja:

SELECT UPPER(last_name) AS UPPER_LAST_NAME, LOWER(last_name) AS LOWER_LAST_NAME
FROM employees;
  1. Tukar format tarikh

Dalam Oracle, tarikh boleh mempunyai banyak format yang berbeza. Kadangkala kita perlu menukar tarikh daripada satu format kepada format lain, seperti menukar daripada "TTTT-MM-DD" kepada "MM/DD/TTTT". Untuk mencapai matlamat ini, kita boleh menggunakan fungsi TO_CHAR. Fungsi TO_CHAR digunakan untuk menukar jenis data lain (seperti tarikh) kepada jenis aksara. Berikut ialah contoh menukar lajur tarikh hire_date dalam jadual pekerja daripada format "YYYY-MM-DD" kepada format "MM/DD/YYYY":

SELECT employee_id, first_name, TO_CHAR(hire_date,'MM/DD/YYYY') AS HIRE_DATE
FROM employees;
  1. Tukar nombor

Kadangkala kita perlu menukar nombor kepada format yang berbeza, seperti menukar integer kepada perpuluhan atau mengekalkan nombor kepada beberapa tempat perpuluhan. Untuk mencapai matlamat ini, kita boleh menggunakan fungsi TO_CHAR dan fungsi TO_NUMBER. Berikut ialah contoh mengekalkan dua tempat perpuluhan untuk lajur gaji dalam jadual pekerja:

SELECT employee_id, first_name, TO_CHAR(salary, '99999.99') AS SALARY
FROM employees;

Dalam pernyataan di atas, '99999.99' ialah templat format yang menentukan format nombor yang sepatutnya. Fungsi TO_CHAR menukar nombor kepada jenis aksara dan menggunakan templat format untuk memformat nombor menjadi rentetan. Sebaliknya, jika kita perlu menukar nombor jenis rentetan kepada jenis angka, kita boleh menggunakan fungsi TO_NUMBER. Berikut ialah contoh menukar rentetan '12.34' kepada jenis angka:

SELECT TO_NUMBER('12.34') AS NUMBER_VALUE
FROM dual;
  1. Gunakan pernyataan CASE untuk menukar

Kadangkala kita perlu menukar berdasarkan syarat tertentu Lakukan penukaran data. Ini boleh dicapai menggunakan pernyataan CASE. Pernyataan CASE membolehkan kami memilih nilai yang berbeza berdasarkan sama ada syarat dipenuhi. Berikut ialah contoh penggunaan penyata CASE untuk menukar lajur gaji kepada paras dalam jadual pekerja:

SELECT employee_id, first_name, salary,
    CASE 
        WHEN salary >= 10000 THEN 'High Salary'
        WHEN salary >= 5000 AND salary < 10000 THEN 'Mid Salary'
        ELSE 'Low Salary'
    END AS SALARY_LEVEL
FROM employees;

Dalam penyata di atas, kami menggunakan penyata KES untuk menukar lajur gaji kepada paras. Jika gaji lebih daripada atau sama dengan 10000, tahap itu adalah 'Gaji Tinggi' jika gaji lebih daripada atau sama dengan 5000 tetapi kurang daripada 10000, tahap itu adalah 'Gaji Pertengahan'. Jika tidak, tahapnya adalah 'Gaji Rendah'.

Dalam artikel ini, kami membincangkan beberapa kaedah untuk transformasi data biasa dalam pertanyaan Oracle. Teknik ini adalah kemahiran asas dalam pertanyaan Oracle dan digunakan secara meluas dalam pelbagai senario. Mari kita ingat teknik ini supaya kita boleh memproses dan mengubah data dengan lebih cekap dalam projek dunia sebenar.

Atas ialah kandungan terperinci Cara melakukan transformasi data biasa dalam pertanyaan Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn