Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kesalahan SQL:# 1064 saat membuat fungsi di plsql menggunakan mysql

Anda tidak memerlukan fungsi untuk ini, Anda memerlukan prosedur tersimpan.

DELIMITER $$
CREATE PROCEDURE proc_name(IN col_number1 INT, IN col_number2 INT)
BEGIN
SET @col1 := CONCAT('CHR_MORNING', col_number1);
SET @col2 := CONCAT('CHR_EVENING', col_number2);

SET @sql := CONCAT('
SELECT 
CASE WHEN ', @col1, '="SUN" && ', @col2, '="SUN" THEN "S"
WHEN (', @col1, '="HOL" && ', @col2, '="HOL") THEN "H"
WHEN (', @col1, '="LEA" && ', @col2, '="LEA") THEN "L"
WHEN (', @col1, '="ABS" && ', @col2, '="ABS") THEN "-"
WHEN (', @col1, '="NA" && ', @col2, '="NA") THEN "-"
ELSE "8"
END AS whatever_you_want_to_name_your_column
FROM att_t_register WHERE CHR_MONTH = "jan" AND INT_YEAR = 2014;
');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END $$
DELIMITER ;

Kemudian Anda akan menjalankannya dengan

CALL proc_name(1, 1);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. unggah file ke DB MySql dengan PHP

  2. Masalah MVC5 Mqsql

  3. Dapatkan perbedaan tahun antara dua tanggal di MySQL sebagai bilangan bulat

  4. Bagaimana kita mengontrol pemesanan dinamis oleh Field dalam sebuah tabel?

  5. Format angka menjadi 2 tempat desimal