Ho una tabella in SQL Server chiamato tbl_spe
che contiene alcune specifiche di un computer come CPU, RAM,...
voglio selezionare tutte le righe con questa condizione: tutte le righe che la loro RAM sono meno di 1 GB Possiamo semplicemente scrivere questa query:Selezionare da questa tabella
Select * from tbl_spe where RAM <= 1
O qualcosa del genere, ma il problema è sui dati della tabella:
ID RAM
159 2GB DDR2
160 256MB DDR
161 3GB DDR2
162 512MB DDR
Come posso estrarre parte del numero del campo RAM? e dire di interrogare selezionare tutte le righe che la loro RAM sia inferiore a 1GB?
Sarebbe meglio cambiare il vostro disegno in modo che la quantità * * di RAM è tenuto in un campo e il * tipo * di RAM in un altro. Quindi trovare i computer con meno di 1 GB di RAM sarà banale. Inoltre, prova a non scrivere query 'select * from'; recupera invece solo i campi di cui hai bisogno. –
I secondo suggerimento di Newman. Avere un campo numerico separato sarà migliore in termini di prestazioni selezionate in quanto non dovrai fare tutto ciò che riguarda la manipolazione delle stringhe. Inoltre, puoi aggiungere un campo 'unit' in modo da poter eseguire la conversione. Il campo unità può avere 'MB' o' GB', ecc. Quindi probabilmente è possibile avere una tabella di unità e assegnare valori per ogni unità e rapporto in modo da poter eseguire la conversione in un secondo momento. –
Sono nuovamente d'accordo a suddividere il valore in campi separati. Tuttavia so che a volte non è fattibile, infatti mi sono imbattuto in un problema simile recentemente, quindi la mia risposta qui sotto. – XN16