Torna indietro   Hardware Upgrade Forum > Software > Programmazione

BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro
HONOR Pad X9 Max mette un pannello IPS da 13 pollici con risoluzione 2,5K e refresh a 120 Hz davanti a una batteria da 10.100 mAh e a quattro altoparlanti. Il listino parte da 399,90 euro, per un progetto molto chiaro e ambizioso: schermo ampio, buon audio e giornate lontano dalla presa, a un prezzo che non pesa sul portafoglio
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-06-2011, 17:46   #1
Necrolord
Member
 
L'Avatar di Necrolord
 
Iscritto dal: Nov 2004
Città: R.E.
Messaggi: 222
[Mysql] Match con regular expression e ritorno stringa

Ciao a tutti ho un DB mysql su macchina redhat, tale DB contiene una tabella chiamata TabellaLog così descritta
+-------------------+--------------+------+-----+---------+----------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+----------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| timestamp | int(14) | NO | MUL | 0 | |
| filename | varchar(255) | NO | MUL | | |
| log | longtext | NO | | NULL | |
| exit_code | varchar(4) | NO | | | |
+-------------------+--------------+------+-----+---------+-----------+

il campo "log" contiene vari dati tra cui la dimensione (tramite un "ls -l" della shell)di un file trasferito.
ad esempio l'inizio del log potrebbe inziare come
-rwxrwxr-x 1 user user 67550 Jun 17 17:30 /var/tmp/file1.txt

Avrei necessità di sapere se esiste un comando (simile al grep) per eseguire una query che mi restituisca il match trovato in base ad una regular expression.
Se ad esempio eseguo la query
Codice:
select id, log REGEXP 'user\ +user\ +[0-9]' as pippo from TabellaLog order by pippo;
ottengo solo una cosa del tipo
+-------+-------+
| id | pippo |
+-------+-------+
| 33095 | 0 |
| 33096 | 0 |
| 33097 | 0 |
| 33098 | 0 |
| 33100 | 0 |
...... ..
| 33094 | 1 |
| 33099 | 1 |
| 33102 | 1 |
| 33103 | 1 |
| 33104 | 1 |
..... ...
poiche REGEXP restuisce solo il valore 0 o 1 in base se non trova o trova il pattern della regexp...a me invece serve un comando che mi restituisca anche la stringa (es "user user 67550").
In particolare devo estrarre il valore numerico (che è la dimensione del file contenuto nel campo log) da usare come "order by" per ordinare la "select * from "TabellaLog" ecc ecc".
In modo da eseguire un'unica query che possa usare in una pagina php per creare una tabella html ordinata per la dimensione dei file...considerando che la dimensione di tali file non è un campo della tabella mysql ma una stringa contenta nel campo log della tabella.
Grazie a chiunque vorrà aiutarmi
__________________
Cooler Master Silencio 652S | Msi Z170A Gaming M5 | Intel skylake i5-6600K @ 4,7 Ghz + dissi liquid Arctic Freezer 240 | DDR4 16GB G.SKill 3000 CL15 KIT (2x8GB) 16GTZB Trident Z | nVidia Gigabyte GTX980TI 6GB Extreme Gaming | Samsung evo SSD 256GB | BeQuiet L8-730W Pure Power Modular | Acer XB Predator XB271HU IPS 27" 2K
Necrolord è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2011, 16:14   #2
Necrolord
Member
 
L'Avatar di Necrolord
 
Iscritto dal: Nov 2004
Città: R.E.
Messaggi: 222
Nessuno nessuno esperto di mysql ?
__________________
Cooler Master Silencio 652S | Msi Z170A Gaming M5 | Intel skylake i5-6600K @ 4,7 Ghz + dissi liquid Arctic Freezer 240 | DDR4 16GB G.SKill 3000 CL15 KIT (2x8GB) 16GTZB Trident Z | nVidia Gigabyte GTX980TI 6GB Extreme Gaming | Samsung evo SSD 256GB | BeQuiet L8-730W Pure Power Modular | Acer XB Predator XB271HU IPS 27" 2K
Necrolord è offline   Rispondi citando il messaggio o parte di esso
Old 24-06-2011, 14:16   #3
fspino
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 3
Quote:
Originariamente inviato da Necrolord Guarda i messaggi
Nessuno nessuno esperto di mysql ?
Forse non è che non esistono esperti mysql, ma che il tuo post è poco leggibile.
Ad esempio la definizione della tabella avresti potuto inserirla così:
Codice:
Field     | Type         | Null | Key | Default | Extra          
id        | int(11)      | NO   | PRI | NULL    | auto_increment 
timestamp | int(14)      | NO   | MUL | 0       |                
filename  | varchar(255) | NO   | MUL |         |                
log       | longtext     | NO   |     |         |                
exit_code | varchar(4)   | NO   |     |         |
Sarebbe stato sicuramente più leggibile e magari gli altri utenti non sarebbero scappati.

In ogni modo, perché vuoi usare un espressione regolare?
Non puoi scrivere semplicemente una query tipo:
Codice:
SELECT id,
     CAST(SUBSTRING(log,
           POSITION('user user',log) + 10, 
           POSITION('/',log)-POSITION('user user',log) - 24) 
        AS INTEGER) AS pippo
FROM TabellaLog 
WHERE log LIKE '% user user %'
ORDER BY pippo;
Tieni conto che io non ho potuto provare la query perché al momento dispongo solo di db2 e sybase, che sono entrambi non compatibili con mysql.

Ciao
fspino è offline   Rispondi citando il messaggio o parte di esso
Old 05-09-2011, 12:48   #4
Necrolord
Member
 
L'Avatar di Necrolord
 
Iscritto dal: Nov 2004
Città: R.E.
Messaggi: 222
So che sono passati quasi 3 mesi ma volevo ringraziarti, perchè alla fine ho risolto con un metodo simile a quello che mi hai proposto.

Grazie ancora e scusa del ritardo con il quale te lo dico
Ciao
__________________
Cooler Master Silencio 652S | Msi Z170A Gaming M5 | Intel skylake i5-6600K @ 4,7 Ghz + dissi liquid Arctic Freezer 240 | DDR4 16GB G.SKill 3000 CL15 KIT (2x8GB) 16GTZB Trident Z | nVidia Gigabyte GTX980TI 6GB Extreme Gaming | Samsung evo SSD 256GB | BeQuiet L8-730W Pure Power Modular | Acer XB Predator XB271HU IPS 27" 2K
Necrolord è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2011, 15:05   #5
fspino
Junior Member
 
Iscritto dal: Jun 2011
Messaggi: 3
Ringraziamenti e scuse accettate

Ciao
fspino è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
Jabra Evolve3 85: le cuffie sia per l'intrattenimento che per il lavoro Jabra Evolve3 85: le cuffie sia per l'intratteni...
Binance avvisa: un bug di iOS mette a ri...
Apple corregge 9 vulnerabilità su iPhone...
Microsoft inaugura il Pavilion a Roma, c...
Black Friday, l'errore che può co...
Lotus avrà un V8 ibrido da 670 CV...
IBM: solo il 26% delle imprese dimostra ...
Hacker contro hacker e danni per 740.000...
Xiaomi SkyNomad, boom da 27.147 auto in ...
Logitech concede un giorno di ferie ai s...
Amazon, questi mini PC hanno un display ...
BYD prepara una rivale di smart #2? Il b...
Amazon, 3 robot tagliaerba ECOVACS GOAT ...
La cifratura di WhatsApp e Signal funzio...
Motori elettrici cinesi contro quelli oc...
Windows e macOS sono già vecchi? ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v