Giới thiệu
Bài toán: Cho số nguyên n, tính tổng chữ số đầu tiên và chữ số cuối cùng. Sử dụng SUBSTR để trích xuất ký tự tại vị trí.
Code PL/SQL
DECLARE
n INTEGER := 31415;
firstDigit INTEGER := 0;
lastDigit INTEGER := 0;
s INTEGER;
BEGIN
IF n > 9 THEN
lastDigit := SUBSTR(n, 1, 1); -- Chữ số đầu tiên (vị trí 1)
firstDigit := SUBSTR(n, LENGTH(n), 1); -- Chữ số cuối cùng
s := firstDigit + lastDigit;
ELSE
s := n; -- Số có 1 chữ số
END IF;
DBMS_OUTPUT.PUT_LINE('Sum of the first digit and last digit of the number is ' || s);
END;
Kết quả
Sum of the first digit and last digit of the number is 8
Giải thích: 31415 → first=3, last=5 → sum=8. Lưu ý: Code gốc có lỗi tên biến fistDigit (thiếu 'r') và logic gán ngược (first/last), đã sửa trong bản này.