Изменение формата даты в MySql - PullRequest
1 голос
/ 10 февраля 2011

У меня есть большой CSV-файл, который я хочу загрузить в свою таблицу.Столбец этого CSV-файла содержит даты, но в формате DD-MM-YYYY.Когда я загружаю этот файл в свою таблицу, он не принимает его, поскольку формат MySQL DATE принимает только YYYY-MM-DD.Есть ли способ, которым я мог бы изменить это в MySQL.Я использую python для создания своих таблиц и загрузки своего файла в таблицу, что на самом деле не имеет значения для этой проблемы. Если для этого есть команда, пожалуйста, скажите мне, где именно ее поместить?спасибо Это полный код

import MySQLdb,os

path='data_files'
absPath = os.path.abspath(path)
print absPath


#connecting to the new database
conn = MySQLdb.connect(host='localhost',
                          user='root',
                          passwd='',
                          db='iens')

db_cursor = conn.cursor()

query = "LOAD DATA LOCAL INFILE '"+ absPath + "/recencies" +"' INTO TABLE iens.recensies FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' (restaurantID,Naam,Date,RecensieText) "

db_cursor.execute(query)

conn.commit()

Ответы [ 2 ]

4 голосов
/ 10 февраля 2011

Если в вашей таблице два столбца с именами column1 и column2, дата указана в column2, и это второй столбец в файле CSV:

LOAD DATA INFILE 'filename' (column1, @var1)
SET column2 = STR_TO_DATE(@var1, '%d-%m-%Y')

В части (column1, @var1) написано:

  • Первый столбец файла CSV идет непосредственно в столбец базы данных column1
  • Второй столбец файла CSV переходит в переменную @var1

В части SET column2 = написано:

  • Установите для столбца базы данных column2 значение, которое выходит из выражения после знака =.
1 голос
/ 10 февраля 2011

Справочное руководство по MySQL :: Функции даты и времени - см. STR_TO_DATE для преобразования строки в дату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...