fabry19dice
Starting Member
1 Post |
Posted - 2011-10-26 : 12:55:15
|
ciao a tuttiho la necessità di evidenziare i cognomi e i nomi nel campo NOME DENOMINAZIONEdevo tirar fuori questa situazione es.FALCONE CARLO = FALCONE Cper i nomi più compliacti ad esempio DE ROSSI ALBERTO = DE ROSSI Ala select sottostante funziona per i nomi tipo FALCONE Cma non riesco a farla funzionare x i nomi tipo DE ROSSI Ami aiutate x favore????SELECT [NOME DENOMINAZIONE], LEN(LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])))AS LUNGHEZZA,CHARINDEX(' ', LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE]))) AS FIRSTNAME, LEN(LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])))-CHARINDEX(' ', LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])))+1 AS BEGINNINGLASTNAME,--SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], LEN(CHARINDEX(' ', LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])))+1),NULLIF(CHARINDEX(' ', FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])-1,-1))AS SECOND, CASE LEFT(LTRIM(RTRIM(SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], 1,NULLIF(CHARINDEX(' ', LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])))+1,-1)))),3) WHEN 'DE ' -- LEFT(SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], 1,NULLIF(CHARINDEX(' ', FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])+1,-1)),3) + THEN RTRIM(SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], CHARINDEX(' ', LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE]))), LEN(LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE]))) -CHARINDEX(' ', LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])))+1 - CHARINDEX(' ', LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE]))))) --THEN RTRIM(SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], NULLIF(CHARINDEX(' ', LTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE]))-1,-1), LEN(LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])))-LEN(LTRIM(RTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])))-LEN(NULLIF(CHARINDEX(' ', LTRIM(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE]))+1,-1)))) WHEN 'DI ' THEN SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], 1,NULLIF(CHARINDEX(' ', FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])-1,-1)) WHEN 'DEL' THEN SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], 1,NULLIF(CHARINDEX(' ', FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])-1,-1)) WHEN 'LO ' THEN SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], 1,NULLIF(CHARINDEX(' ', FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])-1,-1)) WHEN 'LA ' THEN SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], 1,NULLIF(CHARINDEX(' ', FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])-1,-1)) ELSE SUBSTRING(FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE], 1,NULLIF(CHARINDEX(' ', FLUSSI.dbo.BONIFICI_TEMPORARY.[NOME DENOMINAZIONE])+1,-1)) END AS COGNOME_INFROM FLUSSI.dbo.BONIFICI_TEMPORARYWHERE FLUSSI.dbo.BONIFICI_TEMPORARY.TROVATI IS NULL grazie milleciaofab |
|