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

Permintaan untuk mendapatkan kata-kata umum antara dua string

Judul pertanyaan Anda mengatakan MSQL, jadi saya menganggap pertanyaan Anda sebagai pertanyaan Server Sql.

  1. Fungsi pemisahan

Bergantung pada versi SQL Server/Konfigurasi Server, Anda memerlukan fungsi split yang dapat membagi string pada pembatas pilihan. Inilah fungsinya.

CREATE FUNCTION [dbo].[fnSplit](@data NVARCHAR(MAX), @delimiter NVARCHAR(5))
RETURNS @t TABLE (rowNum int IDENTITY(1,1), data NVARCHAR(max), descriptor varchar(255) NULL)
AS
BEGIN

    DECLARE @textXML XML;
    SELECT    @textXML = CAST('<d>' + REPLACE(@data, @delimiter, '</d><d>') + '</d>' AS XML);

    INSERT INTO @t(data)
    SELECT  RTRIM(LTRIM(T.split.value('.', 'nvarchar(max)'))) AS data
    FROM    @textXML.nodes('/d') T(split)

    RETURN
END
  1. Kueri kata-kata umum menggunakan fungsi split (ada beberapa cara untuk melakukannya, ini salah satunya). SELECT sentence1.data FROM dbo.fnSplit('This site is very helpful',' ') sentence1 INNER JOIN dbo.fnSplit('I need a helpful site',' ') sentence2 ON sentence1.data = sentence2.data



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyimpan file di SQL Server

  2. Temukan Tipe Data Kolom yang Dikembalikan dalam Kumpulan Hasil di SQL Server

  3. SQL Server 2016:Desainer Kueri

  4. Urutan baris default dalam kueri SELECT - SQL Server 2008 vs SQL 2012

  5. Pernyataan cadangan baris perintah SQL Server