Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> .

Come Take Out Alpha Personaggi Ma Lascia caratteri numerici in SQL

di Microsoft SQL Transact- SQL ha la capacità di estrarre i caratteri alfabetici , ma lasciare i caratteri numerici in una stringa , ma richiede solo la creazione di una funzione definita dall'utente . Si consiglia di farlo in casi in cui vi è un campo numerico nel database e si desidera proteggere l'integrità del vostro INSERT pulendo i dati prima di tentare l' inserimento. Nella maggior parte dei casi , l'intera istruzione di inserimento avrà esito negativo se non vi è un carattere alfabetico in un campo numerico . Istruzioni
1

In Microsoft SQL , creare una funzione definita dall'utente come :

CREATE dbo.UDF_NumericOnlyChars FUNZIONE

(

@ stringa VARCHAR ( 8000 ) per

) per

RETURNS VARCHAR ( 8000 ) per

AS

BEGIN

DECLARE @ IncorrectCharLoc SMALLINT

SET @ IncorrectCharLoc = PATINDEX ( '% [ ^ 0-9 ] % ' , @ stringa ) per

MENTRE @ IncorrectCharLoc > 0

BEGIN

SET @ Numericstring = STUFF ( @ Numericstring , @ IncorrectCharLoc , 1 , '' ) per

SET @ IncorrectCharLoc = PATINDEX ( '% [ ^ 0-9 ] % ' , @ Numericstring ) per

END

Se ( @ Numericstring = '' ) per

SET @ Numericstring = '0 ' - Ciò contribuirà a garantire che una stringa di numeri viene restituito

RETURN @ Numericstring

FINE

GO

questo si basa off della funzione definita dall'utente creato da Pinal Dave
2

Utilizzare la funzione in questo modo: .

Selezionare [ dbo ] UDF_NumericOnlyChars ( ' sadDs132 dds # @ 19' ) per

che restituirà :

13219
3

Utilizzare la funzione di una colonna della tabella di restituire solo le cifre numeriche nella stringa :

Selezionare Nome, Cognome, Telefono , UDF_NumericOnlyChars ( Phone) come ' NumberOnly ' da tblPeople

che restituirà :

Nome Cognome Telefono NumberOnly

-------------------------------------- -----------------------------

John Doe (888) 555-1212 8885 551212

 

Programmazione © www.354353.com