Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Pisahkan kata dengan huruf kapital di sql

Berikut adalah fungsi yang saya buat yang mirip dengan "menghapus karakter non-abjad". Bagaimana cara menghapus semua karakter non-abjad dari string di SQL Server?

Yang ini menggunakan susunan peka huruf besar/kecil yang secara aktif mencari kombinasi non-spasi/huruf besar dan kemudian menggunakan fungsi STUFF untuk menyisipkan spasi. Ini ADALAH UDF skalar, jadi beberapa orang akan segera mengatakan bahwa ini akan lebih lambat daripada solusi lain. Untuk gagasan itu, saya katakan, silakan mengujinya. Fungsi ini tidak menggunakan data tabel apa pun dan hanya mengulang sebanyak yang diperlukan, sehingga kemungkinan besar akan memberi Anda kinerja yang sangat baik.

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
 

Sebut saja seperti ini:

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. Ubah 'smalldatetime' menjadi 'date' di SQL Server (Contoh T-SQL)

  2. Pemecahan Masalah Kesalahan Microsoft SQL Server 18456

  3. Mengukur Kinerja Kueri:Biaya Kueri Rencana Eksekusi vs Waktu yang Dibutuhkan

  4. Bagaimana menemukan jumlah beberapa kolom dalam sebuah tabel di SQL Server 2005?

  5. Menghitung DISTINCT pada beberapa kolom