Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    query mysql vs sql server

    Ciao ragazzi ho questa query che su SQL Server mi funziona correttamente mentre su MySql mi va in errore.
    Sapete dirmi come cambiarla?

    codice:
    SELECT REPLICATE('0', 6 - LEN(MAX(CAST(Num_total AS INT)) + 1)) + LTRIM(STR(MAX(CAST(Num_total AS INT)) + 1)) as NEXTORD FROM EC_ORDINI
    In pratica ho un campo con un numero che deve essere sempre formattato a 6 cifre.
    Devo prendere l'ultimo inserito e aggiungere 1 ..mantenendo sempre la formattazione a 6 cifre.
    Di conseguenza se avevo 000001 mi dovrà restituire 000002 e cosi' via 000010 ....000568.... 005698... sempre con 6 cifre.

    Graciasssss
    Se non proponi soluzioni... fai parte del problema.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Usa un campo intero auto incrementante e in fase di visualizzazione applichi il padding.


    select lpad(campo,6,'0') as campo from tabella

  3. #3
    non posso.
    mi collego ad un db già strutturato altrimenti avrei certamente trovato una via piu' semplice.

    Devo necessariamente scrivere il numero finale formattato in quel modo nel db
    Se non proponi soluzioni... fai parte del problema.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    create table paddata (
    id int (6) unsigned zerofill auto_increment not null,
    campo1 varchar(50),
    primary key (id)
    ) engine=myisam;
    
    insert into paddata (campo1) values 
    ('pinco'),
    ('palla')

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.