Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [SQL Server] Làm sạch số điện thoại

    Bảng lienhe lưu số điện thoại nhập tay với nhiều ký tự rác. Cần chuẩn hóa: bỏ các ký tự phân tách ( ) - . khoảng trắng.

    Cột Kiểu Ý nghĩa
    ten nvarchar(50) Tên liên hệ
    sdt_raw nvarchar(50) Số điện thoại thô

    Dùng TRANSLATE để đổi các ký tự ()-. thành một ký tự đệm (ví dụ #) rồi REPLACE bỏ ký tự đệm; hoặc nhiều REPLACE lồng nhau. Kết quả sdt_sach chỉ còn chữ số.

    Ví dụ '(024) 1234-567' → 0241234567.

    • Định dạng đầu vào:

      SETUP SQL tạo bảng lienhe và chèn số điện thoại thô.

    • Ràng buộc đầu vào:

      sdt_raw chứa chữ số và các ký tự '()-. ' (cách). Kết quả chỉ gồm chữ số.

    • Định dạng đầu ra:

      Hai cột: ten, sdt_sach. Sắp xếp theo ten tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE lienhe (ten nvarchar(50), sdt_raw nvarchar(50));
    INSERT INTO lienhe VALUES (N'An',N'(024) 1234-567'),(N'Binh',N'098.765.4321');

    Đầu ra:

    An	0241234567
    Binh	0987654321

    Giải thích:

    An: bỏ '(', ')', khoảng trắng, '-' còn '0241234567'. Binh: bỏ '.' còn '0987654321'.

    Đang tải editor...