-1
Ich habe einige TeildatenMySQL Teildatum in Datetime-Spalte
wie 2017-12 (Y-M) oder 2017-45 (Y-W)
ist es möglich, sie in einer Datetime-Spalte in MySQL zu speichern?
Ich habe einige TeildatenMySQL Teildatum in Datetime-Spalte
wie 2017-12 (Y-M) oder 2017-45 (Y-W)
ist es möglich, sie in einer Datetime-Spalte in MySQL zu speichern?
Verwendung STR_TO_DATE() Funktion wie folgt aus:
SELECT STR_TO_DATE(CONCAT('2017-12','-01'),'%Y-%m-%d');
SELECT STR_TO_DATE(CONCAT(SUBSTRING_INDEX('2017-45', '-', 1),'-01-01'),'%Y-%m-%d')
+ INTERVAL SUBSTRING_INDEX('2017-45', '-', -1) -1 WEEK;
Probe
mysql> SELECT STR_TO_DATE(CONCAT('2017-12','-01'),'%Y-%m-%d');
+-------------------------------------------------+
| STR_TO_DATE(CONCAT('2017-12','-01'),'%Y-%m-%d') |
+-------------------------------------------------+
| 2017-12-01 |
+-------------------------------------------------+
1 row in set (0,00 sec)
mysql> SELECT STR_TO_DATE(CONCAT(SUBSTRING_INDEX('2017-45', '-', 1),'-01-01'),'%Y-%m-%d')
-> + INTERVAL SUBSTRING_INDEX('2017-45', '-', -1) -1 WEEK;
+------------------------------------------------------------------------------------------------------------------------------------------------+
| STR_TO_DATE(CONCAT(SUBSTRING_INDEX('2017-45', '-', 1),'-01-01'),'%Y-%m-%d')
+ INTERVAL SUBSTRING_INDEX('2017-45', '-', -1) -1 WEEK |
+------------------------------------------------------------------------------------------------------------------------------------------------+
| 2017-11-05 |
+------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0,01 sec)
mysql>
Mögliche Duplikat von [Wie Datetime zu VarChar konvertiert] (http://stackoverflow.com/ questions/74385/how-to-convert-datetime-to-varchar) –
http://stackoverflow.com/questions/74385/how-to-convert-datetime-to-varchar –
Hinzufügen des ersten Tages des Monats oder der erster Tag der Woche – etsa