2010-07-20 10 views
20

Ho una tabella in un database MySQL che sto eseguendo semplici query SELECT su (per diagnostica/analisi rapide - poiché non sto eseguendo phpmyadmin sul server - per ragioni di sicurezza).Come troncare il testo restituito per una colonna in una query MySQL

mi piacerebbe essere in grado di troncare i dati restituiti utilizzando qualcosa di simile:

select id, LEFT(full_name, 32), age FROM user 

dove l'utente è una tabella che contiene le colonne id, FULL_NAME ed età

ho provato la dichiarazione di cui sopra e non ha funzionato. qualcuno sa come farlo?

[Edit]

Siamo spiacenti, quando ho detto che doesnt lavoro, voglio dire mySQL restituisce semplicemente la stringa "LEFT (FULL_NAME, 32)" come un alias per il 'FULL_NAME' colonna e uscite il valore del campo - che in questo caso può essere lungo fino a 256 caratteri.

+2

In che modo non funziona? Che risultato ottieni e cosa ti aspetti di ottenere? Hai bisogno di impostare un id per selezionare un alias, LEFT (full_name, 32) come full_name, age FROM user to access sit nel tuo codice? –

risposta

28
select id, SUBSTRING(full_name,1, 32), age FROM user 

Citando mysql.com:

Per tutte le forme di SUBSTRING(), la posizione del primo carattere della stringa da cui la stringa è da estrarre si conta come 1.

+0

Come sottolineato da Mark Baker nei commenti sopra, un alias sul SUBSTRING sarebbe una buona idea –

+1

ulteriori dettagli su 'SUBSTRING' qui: http://www.1keydata.com/sql/sql-substring.html – Julien

1
select id, SUBSTRING(full_name,1, 32), age FROM user 
Problemi correlati