2016-07-01 6 views
0

eine Datenbanktabelle gegeben, die wie so gebaut ist:Ist es möglich, alles aus einer MySQL-Datenbank auszuwählen und gleichzeitig eine Funktion auf eine bestimmte Spalte anzuwenden?

| id | unique_id       | display_name | ip_address | updated_at  | created_at  | 
|----|--------------------------------------|-----------------|---------------|------------------|------------------| 
| 1 | 768ef24f-79ab-481e-b50f-45b0466933c1 | SimpleAuthority | *binary data* | *some timestamp* | *some timestamp* | 
| 2 | 069a79f4-44e9-4726-a5be-fca90e38aaf5 | Notch   | *binary data* | *some timestamp* | *some timestamp* | 

Ich weiß, dass ich kann SELECT jede Spalte explizit und gelten INET6_NTOA auf ip_address:

SELECT id, unique_id, display_name, INET6_NTOA(ip_address), updated_at, created_at FROM users WHERE unique_id='768ef24f-79ab-481e-b50f-45b0466933c1'; 

jedoch, die wie zu viel Arbeit scheint, wo ohne diese binär codierten Daten überhaupt dort zu haben, könnte ich einfach einen *:

SELECT * FROM users WHERE unique_id='768ef24f-79ab-481e-b50f-45b0466933c1'; 
verwenden

Kann ich SELECT all diese Daten mit einer Abfrage, während die Binärdaten in der ip_address Spalte mit INET6_NTOA dekodieren?

+4

Sie einfach * verwenden können, SELECT, INET6_NTOA (ip-adresse) FROM Benutzer ' – mauris

+0

@mauris Wow, das war zu einfach. Jetzt sehe ich jedoch in der zurückgegebenen Ergebnismenge, dass es eine Spalte ip_address gibt, die die Binärdaten enthält, und eine Spalte namens INET6_NTOA (ip_address), die die dekodierten Daten enthält. Ist das normal? Danke übrigens! –

+0

ja ist es. Sie können das Ergebnis der Funktion auch umbenennen. 'SELECT *, INET6_NTOA (IP_Adresse) als IP FROM Benutzer' – mauris

Antwort

0

Try this;)

SELECT *, INET6_NTOA(ip_address) FROM users WHERE unique_id='768ef24f-79ab-481e-b50f-45b0466933c1'; 
Verwandte Themen