Principale utente con più risposte
substring returno blank / 0

Domanda
-
Giorno,
ho questo problema su SQL SERVER 2014 e 2017 Enterprise:
declare @pippo VARCHAR(MAX) = '55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555999555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555599955555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555999' SELECT SUBSTRING(@pippo,256,10) as test1 SELECT SUBSTRING(@pippo,100,10) as test2
se la eseguo dal classico management il risultato è perfetto, se metto in debug ed interrogo da FinestraImmediata
test1 ritorna BLANK
mentre
test2 mi restituisce correttamente il valore.
E' come se legga la stringa fino a 256 caratteri e non di +.
Avendo degli script che contengono variabili che vengono popolate da parti di stringa oltre il 256 carattere
mi sta andando tutto in errore.
Potete aiutarmi per favore.vi inserisco le immagini senza e con debug
con debug invece:
Emanuele
Emanuele
Risposte
-
Ciao Emanuele,
>> Avendo degli script che contengono variabili che vengono popolate da parti di stringa oltre il 256 carattere mi sta
>> andando tutto in errore
come vengono assegnate le variabili che contengono le parti di stringa oltre il 256-esimo carattere?
Ho provato con assegnazione diretta, nell'esempio la variabile @substring_of_pippo, e funziona:
declare @pippo VARCHAR(MAX) = '55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555999555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555599955555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555999' declare @substring_of_pippo VARCHAR(MAX) = '' SELECT @substring_of_pippo = SUBSTRING(@pippo,256,10) SELECT SUBSTRING(@pippo,256,10) as test1 SELECT SUBSTRING(@pippo,100,10) as test2
Ciao!
Sergio Govoni
Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn
- Modificato Sergio GovoniMVP, Moderator domenica 29 settembre 2019 08:07
- Proposto come risposta Edoardo BenussiMVP, Moderator lunedì 30 settembre 2019 07:33
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator lunedì 7 ottobre 2019 09:03
Tutte le risposte
-
Ciao Emanuele,
>> Avendo degli script che contengono variabili che vengono popolate da parti di stringa oltre il 256 carattere mi sta
>> andando tutto in errore
come vengono assegnate le variabili che contengono le parti di stringa oltre il 256-esimo carattere?
Ho provato con assegnazione diretta, nell'esempio la variabile @substring_of_pippo, e funziona:
declare @pippo VARCHAR(MAX) = '55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555999555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555599955555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555999' declare @substring_of_pippo VARCHAR(MAX) = '' SELECT @substring_of_pippo = SUBSTRING(@pippo,256,10) SELECT SUBSTRING(@pippo,256,10) as test1 SELECT SUBSTRING(@pippo,100,10) as test2
Ciao!
Sergio Govoni
Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn
- Modificato Sergio GovoniMVP, Moderator domenica 29 settembre 2019 08:07
- Proposto come risposta Edoardo BenussiMVP, Moderator lunedì 30 settembre 2019 07:33
- Contrassegnato come risposta Edoardo BenussiMVP, Moderator lunedì 7 ottobre 2019 09:03
-