Remove last special character in sql server, xóa ký tự đặc biệt cuối chuỗi sql

Thảo luận trong 'Kiến thức lập trình SQL & MySQL' bắt đầu bởi DienDanRaoVat, 20/12/18.

  1. DienDanRaoVat
    Tham gia ngày:
    14/2/14
    Bài viết:
    182
    Đã được thích:
    5
    Điểm thành tích:
    18
    Remove last special character in sql server, cách xóa ký tự đặc biệt ở cuối chuỗi trong sql server như thế nào?
    Vì mình có bảng dữ liệu tên ở cuỗi chuỗi mấy bạn nhập dữ liệu gõ nhầm dấu '.' ở cuối chuỗi. Giờ dữ liệu tới mấy chục gàn bảng không thể đổi bằng tay được, mà có cột có, có cột không, không thể dùng hàm replace tất cả được.

    Replace(name,'.',''): nó replace tất cả dấu '.' không được :(( lỗi không được, giúp mình chỉ replace cái ký tự cuối cùng với :(

    Replace('Xử lý remove. trong sql.','.','') -> Xử lý remove. trong sql

    VD: mình có table My_Table

    idname
    1Phan Bơn.
    2Mai Linh
    3Zinf Mem.
    4Hai. LungLung.
    5Vai Linh Tự
    Replace thành

    idname
    1Phan Bơn
    2Mai Linh
    3Zinf Mem
    4Hai. LungLung
    5Vai Linh Tự
    Remove xóa '.' thành ''

    Cảm ơn các bạn giúp đỡ, cảm ơn !!! mình không biết làm sao, giúp mình với
     
    Cảm ơn đã xem bài:

    Remove last special character in sql server, xóa ký tự đặc biệt cuối chuỗi sql

    Last edited by a moderator: 20/12/18
  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,895
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Của bạn đây nhé:

    Xóa ký tự đặc biệt cuối chuỗi:


    Nếu dùng Update
    Mã:
    update My_Table
    set Name = substring(Name, 1, (len(Name) - 1))
    where charindex('.',Name,len(Name)-1)  > 0
    
    • Ý nghĩa là: where sẽ lấy ra tất cả dữ liệu cuối cùng là chuỗi có dấu '.'
    • Hàm substring sẽ lấy dữ liệu từ vị trí đầu tiên tới vị trí cuối cùng trừ đi 1 ký tự là trừ đi ký tự cuối cùng là dấu '.'
    Dùng lệnh Select
    Mã:
    select substring(Name, 1, (len(Name) - 1)) Names
    from My_Table
    where charindex('.',Name,len(Name)-1)  > 0
    
    Xóa ký tự đặc biệt đầu chuỗi":

    Lệnh Update

    Mã:
    update My_Table
    set Name= substring(rtrim(ltrim(Name)), 2,len(Name))
    where isnull(Name,'') <> ''
    and charindex('-',left(rtrim(ltrim(Name)),1)) > 0
    
    Lệnh Select
    Mã:
    select substring(rtrim(ltrim(Name)), 1,1) Names
    from My_Table
    where charindex('.',left(rtrim(ltrim(Name)),1)) > 0
    
     
    Chỉnh sửa cuối: 24/4/21
  3. DienDanRaoVat
    Tham gia ngày:
    14/2/14
    Bài viết:
    182
    Đã được thích:
    5
    Điểm thành tích:
    18
    Cảm ơn ad, cái code này xài tốt lắm. Cảm ơn Ad rất nhiều
     
  4. NothingnessLs
    Tham gia ngày:
    24/12/18
    Bài viết:
    10
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    select substring(Name, 1, (len(Name) - 1)) Names
    from My_Table
    where charindex('.',Name,len(Name)-1) > 0
     
  5. quyenngoc_vmp
    Tham gia ngày:
    22/8/18
    Bài viết:
    102
    Đã được thích:
    3
    Điểm thành tích:
    18
    Giới tính:
    Nữ
    em cũng đang học về mấy cái này, vẫn có chỗ thắc mắc lắm luôn
     
  6. helennguyen2255
    Tham gia ngày:
    11/12/18
    Bài viết:
    19
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    Đúng cái mình đang cần, cảm ơn Ad nhiều
     


Chủ để tương tự : Remove last
Diễn đàn Tiêu đề Date
Kiến thức lập trình SQL & MySQL Sửa lỗi: Mysqli table is marked as crashed and last automatic repair failed 30/10/18