Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tách các từ bằng một chữ cái in hoa trong sql

Đây là một chức năng tôi đã tạo tương tự như "loại bỏ các ký tự không phải chữ cái". Làm cách nào để loại bỏ tất cả các ký tự không phải chữ cái khỏi chuỗi trong SQL Server?

Điều này sử dụng đối chiếu phân biệt chữ hoa chữ thường, chủ động tìm kiếm sự kết hợp không phải khoảng trắng / chữ cái viết hoa và sau đó sử dụng hàm STUFF để chèn khoảng trắng. Đây là một UDF vô hướng, vì vậy một số người sẽ ngay lập tức nói rằng nó sẽ chậm hơn các giải pháp khác. Tôi nói, theo quan niệm đó, hãy thử nghiệm nó. Hàm này không sử dụng bất kỳ dữ liệu bảng nào và chỉ lặp lại nhiều lần khi cần thiết, vì vậy nó có thể sẽ mang lại cho bạn hiệu suất rất tốt.

Create Function dbo.Split_On_Upper_Case(@Temp VarChar(1000))
Returns VarChar(1000)
AS
Begin

    Declare @KeepValues as varchar(50)
    Set @KeepValues = '%[^ ][A-Z]%'
    While PatIndex(@KeepValues collate Latin1_General_Bin, @Temp) > 0
        Set @Temp = Stuff(@Temp, PatIndex(@KeepValues collate Latin1_General_Bin, @Temp) + 1, 0, ' ')

    Return @Temp
End

Gọi nó như thế này:

Select dbo.Split_On_Upper_Case('OneTwoThreeFour')
Select dbo.Split_On_Upper_Case('OneTwoThreeFour')
Select dbo.Split_On_Upper_Case('One')
Select dbo.Split_On_Upper_Case('OneTwoThree')
Select dbo.Split_On_Upper_Case('stackOverFlow')
Select dbo.Split_On_Upper_Case('StackOverFlow')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chèn một đốm màu vào cơ sở dữ liệu bằng studio quản lý máy chủ sql

  2. java.sql.SQLException:Không tìm thấy trình điều khiển phù hợp cho jdbc:microsoft:sqlserver

  3. Không thể đăng nhập vào SQL Server + Xác thực SQL Server + Lỗi:18456

  4. Yêu cầu không thành công hoặc dịch vụ không phản hồi kịp thời?

  5. Cách tạo dạng xem trong SQL Server