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

    solution

    Đề bài: [SQL Server] Tách họ, tên đệm, tên từ họ tên đầy đủ

    Phòng đào tạo lưu họ tên sinh viên dạng 'Ho Dem Ten' (đúng 3 phần cách nhau bởi một dấu cách). Cần tách thành 3 cột.

    Dùng CHARINDEX lồng nhau và SUBSTRING để tách 3 phần.

    Cột Kiểu Ý nghĩa
    msv nvarchar Mã sinh viên
    hoten nvarchar Họ tên đầy đủ (3 phần)

    Ví dụ: 'Nguyen Van An' -> ho='Nguyen', dem='Van', ten='An'.

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

      Bảng sinh_vien.

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

      Mỗi họ tên có đúng 3 phần. Sắp xếp theo msv.

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

      Các cột msv, ho, dem, ten.

    Ví dụ:

    Đầu vào:

    CREATE TABLE sinh_vien (msv nvarchar(10), hoten nvarchar(50));
    INSERT INTO sinh_vien VALUES (N'SV1',N'Nguyen Van An'),(N'SV2',N'Tran Thi Binh');

    Đầu ra:

    SV1	Nguyen	Van	An
    SV2	Tran	Thi	Binh

    Giải thích:

    Tach 3 phan theo dau cach. 'Nguyen Van An' -> ho=Nguyen, dem=Van, ten=An. 'Tran Thi Binh' -> ho=Tran, dem=Thi, ten=Binh. Sap theo msv.

    Đang tải editor...