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

Lakukan regex (ganti) dalam kueri SQL

Diperlukan beberapa peretasan tetapi kami dapat melakukannya dengan LIKE , PATINDEX , KIRI DAN KANAN dan rangkaian string lama yang bagus.

create table test
(
    id int identity(1, 1) not null,
    val varchar(25) not null
)

insert into test values ('&lt; <- ok, &lt <- nok')

while 1 = 1
begin
    update test
        set val = left(val, patindex('%&lt[^;]%', val) - 1) +
                      '&lt;' +
                      right(val, len(val) - patindex('%&lt[^;]%', val) - 2)
    from test
    where val like '%&lt[^;]%'

    IF @@ROWCOUNT = 0 BREAK
end

select * from test

Lebih baik ini adalah versi SQL Server agnostik dan seharusnya berfungsi dengan baik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cara menulis fungsi angka ke kata di sql server

  2. Bagaimana saya bisa menghapus baris duplikat?

  3. Memanggil prosedur tersimpan dengan nilai kembali

  4. Bagaimana cara menghapus semua karakter non-abjad dari string di SQL Server?

  5. Rata-rata inkonsistensi float