Capitalize SQL

di il
6 risposte

Capitalize SQL

Ho cercato un po e non ho trovato nulla e siccome non sono ammessi errori vorrei evitare di giocare col database della ditta

Semplicemente ho 500 e passa record in cui ci sono mischiate tante descrizioni sia in maiuscolo che minuscolo ecc...

Devo farle diventare tutte con ogni parola presente nel record con la prima lettera maiuscola e il resto minuscolo.

In exel lo riesco a fare in una volata ma in SQL server ho seri promeli.

Conoscenza SQL definire limitata è poco xD diciamo attraverso select e from arrivo ad avere la lista dei fornitori davanti... ma non ne ho la più pallida idea di come modificarli tutti insieme

Scusate la mia ignoranza, un grazie anticipato a chi mi darà un mano

6 Risposte

  • Re: Capitalize SQL

    Non so se sql server ha funzioni predefinite per fare quello
    che vuoi fare tu...

    Comunque una soluzione alternativa potrebbe essere:
    Inanzitutto fatti un bel backup
    Poi fai la query e selezioni i dati;

    Esporti il risultato della query in excel.

    Elimini i dati dal db..

    Modifichi i dati in excel...

    Inserisci i dati modificati nel db...
  • Re: Capitalize SQL

    Il comando è

    capitalize

    il problema è che non so come iserirlo

    la query di ricerca dei dati è
    SELECT     TOP (1000) IdProduttore, Produttore
    FROM         tabProduttori
    come detto sopra non so come rendere la colonna produttore con la prima lettera maiuscola...

    uso sql 2008 r2 ... e non mi sembra che si possa fare il copia incolla delle colonne trammite da exel....

    la soluzione potrebbe essere powerpivot per exel??
  • Re: Capitalize SQL

    Immagino sia questa quella per me
    UPDATE Tabella SET Colonna=UPPER(LEFT(Colonna,1)) + LOWER(SUBSTRING(Colonna,2,LEN(Colonna)))
    il problema rimane (scusate la mia ignoranza) che devo aggiornare la colonna Produttore e li sono segnate ben 3 tipi di colonne.... come va aggiustata la stringa ??

    EDIT:

    Ho provato questa per vedere almeno cosa faceva senza fare danni però (dovrebbe solo tirare fuori i dati senza modificarli se non erro)
    SELECT UPPER(LEFT(Colonna,1)) + LOWER(SUBSTRING(Colonna,2,LEN(Colonna))) FROM Tabella
    Modificandola cosi
    SELECT     UPPER(LEFT(Produttore,1)) + LOWER(SUBSTRING(Produttore,2,LEN(Produttore))
    FROM tabProduttori
    o così
    SELECT     TOP (1000)UPPER(LEFT(Produttore,1)) + LOWER(SUBSTRING(Produttore,2,LEN(Produttore))
    FROM [DD_Trifoglio].[dbo].[tabProduttori]
    Il problema che mi sottolinea di rosso FROM su tutte e due e non capisco il perchè
  • Re: Capitalize SQL

    Un piccolo up
  • Re: Capitalize SQL

    Ciao,
    fermo restando che avrebbe senso farsi una funzione Capitalize da poter riusare, ti sei solo scordato una chiusura di parentesi.

    La query sql esatta è:
    SELECT     UPPER(LEFT(Produttore,1)) + LOWER(SUBSTRING(Produttore,2,LEN(Produttore)))
    FROM tabProduttori
  • Re: Capitalize SQL

    Grazie mille dell'aiuto

    La funzione almeno nel mio caso è
    UPDATE tabProduttori SET Produttore=UPPER(LEFT(Produttore,1)) + LOWER(SUBSTRING(Produttore,2,LEN(Produttore)))
    FROM [DD_Trifoglio].[dbo].[tabProduttori]
    grazie ancora di tutto l'aiuto
Devi accedere o registrarti per scrivere nel forum
6 risposte