dus bij het getal moeten die "" weg zijn, dus ik ga ervan uit dat dit komt door die varchar, waar moet mijn kolom dan wel op staan om dit niet te hebben?
Maak hier in eerste instantie een aparte/nieuwe kolom van/voor, zodat je niet in bestaande datums en tijden loopt te prutten met het risico dat je data verliest.
- Ariën - op 05/09/2018 12:44:27
Met een VARCHAR kan je inderdaad niet rekenen of logisch sorteren.
Dat is niet waar. Je zou een datetime (yyyy-mm-dd hh:ii:ss) prima als VARCHAR op kunnen slaan omdat deze zich beide bedienen van een alfabetische (lexicografische) sortering.
Maar dan alsnog is een VARCHAR niet bedoeld voor opslag van datums en tijden. Ik betwijfel of MySQL er in jouw geval goed mee kan omgaan als je in MySQL ermee rekent. Sorteren zou wel prima kunnen.
Verder is een apart veld aanmaken voor de conversie een goed idee.
Ook rekenen zou geen probleem moeten zijn maar het is waarschijnlijk minder efficiënt als je datums (en tijden) opslaat als varchar (dit zou dus een argument zijn om specifiek DATE(TIME) te gebruiken boven VARCHAR). Maar het kan wel, m.a.w. er is verder geen enkele beperking waarom het niet mogelijk zou zijn om dit te doen.
De voorbeelden in de MySQL manual opereren op tekstuele strings, en niet op kolommen van het DATE(TIME) type, dit is dus geen noodzakelijke voorwaarde, zoals jouw vorige stelling min of meer suggereert.
Het is natuurlijk altijd een goede zaak om data "extra betekenis" te geven door deze in een kolom op te slaan van een type die de betekenis en het gebruik van de data weerspiegelt (een numerieke waarde in een INT kolom, een tekst in een VARCHAR of TEXT kolom, en een datum/tijd in een DATE(TIME) kolom). Ook het gebruik van deze data bepaalt mede wat het handigste is.