我想将给定日期从 mm-dd-yyyy
转换为 YYYY-MM-DD format
我尝试关注
SELECT DATE_FORMAT("09-02-2018",'YYYYMMDD')
SELECT DATE_FORMAT("09-02-2018", "%MM %dd %YY");
SELECT CURDATE("09-02-2018");
SELECT DATE_FORMAT("09-02-2018", "%Y-%m-%d")
它对于当前日期有效,但不适用于给定日期。
答案 0 :(得分:0)
您将需要使用STR_TO_DATE函数。从MySQL文档中:
它采用字符串str和格式字符串格式。 STR_TO_DATE() 如果格式字符串同时包含日期和日期,则返回DATETIME值 时间部分,如果字符串仅包含日期,则为DATE或TIME值 或时间部分。如果从str中提取了日期,时间或日期时间值 是非法的,STR_TO_DATE()返回NULL并产生警告。
服务器将扫描str,以尝试将格式与之匹配。格式 字符串可以包含文字字符和格式说明符 与%。格式的文字字符必须在str中字面匹配。 格式的格式说明符必须与str中的日期或时间部分匹配。
%m
将月份名称表示为数字值(00到12)%d
用数字值(01到31)表示月份中的某天%Y
将Year表示为4位数字由于您输入的日期为mm-dd-yyyy
格式,因此此处使用%m-%d-%Y
作为格式。检查以下代码:
SELECT STR_TO_DATE('09-02-2018', '%m-%d-%Y');
答案 1 :(得分:0)
原始格式不是MySQL格式,因此DATE_FORMAT不起作用
您应该做类似的事情
SET @toconvert = '09-02-2018';
SELECT
CAST(CONCAT(SUBSTR(@toconvert,7,4),'-',SUBSTR(@toconvert,4,2),'-',SUBSTR(@toconvert,1,2)) AS DATE);
答案 2 :(得分:0)
使用STR_TO_DATE函数将字符串日期转换为日期类型。例如:
data-fancybox-trigger
答案 3 :(得分:0)
您可以使用以下语法获取格式的日期。
DATE_FORMAT(STR_TO_DATE(myVal, '%d.%m.%y'), '%Y-%m-%d')
谢谢
答案 4 :(得分:0)
使用STR_TO_DATE http://sqlfiddle.com/#!9/a6c585/71892
try:
with open(csv_file, 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=csv_columns, extrasaction='ignore')
writer.writeheader()
for data in doc["Stocks"]:
data['category'] = 'fruits'
writer.writerow(data)
except IOError:
print("I/O error")