2010-04-12 20 views
10

Voglio scrivere una procedura di confronto (t-sql) per sito seo.Sql seleziona righe contenenti parte della stringa

Ho una tabella con campo 'url' (nvarchar()) che contiene una parte di URL del sito. Es: 'mysyte.com/?id=2'. Anche questa tabella per ogni url contiene metadati, che ho bisogno di estrarre.

Il problema principale è che URL completo sul sito si presenta come 'mysyte.com/?id=2 & regione = 0 & page = 1', e ho solo bisogno di ignorare everething, tranne url nella tabella:

voglio dire: 'mysyte.com/?id=2' => è una parte di '& regione mysyte.com/?id=2 = 0 & page = 1'

risposta

4

è possibile utilizzare CHARINDEX in t-sql.

select * from table where CHARINDEX(url, 'http://url.com/url?url...') > 0

45

È possibile utilizzare l'operatore LIKE per confrontare il contenuto di una stringa di T-SQL, per esempio

SELECT * FROM [table] WHERE [field] LIKE '%stringtosearchfor%'. 

Il carattere percentuale '%' è una card-selvaggio in questo caso si dice che restituisce tutti i record in cui [campo] almeno contiene il valore "stringtosearchfor".

+1

Per cercare una stringa che inizia con un certo prefisso, puoi fare LIKE 'prefisso%' – tschwab

Problemi correlati