Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql插入的格式日期_Mysql_Sql_Date - Fatal编程技术网

mysql插入的格式日期

mysql插入的格式日期,mysql,sql,date,Mysql,Sql,Date,Im使用加载数据填充导入csv文件,文件日期格式为29/11/2010,数据库格式为2010-11-29,我可以使用什么设置查询内的日期格式 我试着去约会: SET date_start = STR_TO_DATE(@from_date,'%Y-%m-%d'), 但这只会插入0000-00-00尝试以下操作 update tablename SET date_start = date_format(@from_date,'%Y-%m-%d') 使用日期格式()。它将根据格式字符串格式化日期值

Im使用加载数据填充导入csv文件,文件日期格式为
29/11/2010
,数据库格式为
2010-11-29
,我可以使用什么设置查询内的日期格式

我试着去约会:

SET date_start = STR_TO_DATE(@from_date,'%Y-%m-%d'),
但这只会插入
0000-00-00

尝试以下操作

update tablename SET date_start = date_format(@from_date,'%Y-%m-%d')
使用日期格式()。它将根据格式字符串格式化日期值


MySQL 4.x

加载数据
将尝试按原样插入日期。它不知道格式,通常情况下,您不能对字段应用一些后处理(与
加载数据
语法本身中允许的某些格式不同),并且您不能通过
设置
关键字来调整值,如
MySQL 5.x

相反,您可以执行以下步骤:

  • 将表的列声明为
    VARCHAR
    。将其名称设为
    record\u date
  • 执行
    加载数据
    查询。它会将您的日期加载到
    record\u date
    列中
  • 将新列添加到表中,使其成为
    temp\u date
    -类型为
    date
    ALTER table t Add temp\u date
  • 更新您的
    temp\u date
    列:
    Update t SET temp\u date=STR\u TO\u date(记录日期,'%d/%m/%Y')
  • 删除
    VARCHAR
    date列:
    altertable t删除记录\u date
  • 最后,用正确的
    DATE
    类型将列重命名为原始列:
    altertable t CHANGE temp\u DATE record\u DATE DATE
因此,您将把日期作为
DATE
DATE类型加载到表中。将
record\u date
替换为原始列的名称

MySQL 5.x

您可以使用关键字和本机替换过程,如上所述。所以,只要做:

LOAD DATA INFILE 'file.csv'
INTO TABLE t
(@date)
SET record_date=STR_TO_DATE(@date, '%d/%m/%Y')

-上面的示例只针对一列,您需要添加其他列(如果存在)。日期列名也是
record\u Date
-因此也将其更改为实际名称。

Date\u FORMAT
用于格式化日期,与
加载数据
格式转换无关
LOAD DATA INFILE 'file.csv'
INTO TABLE t
(@date)
SET record_date=STR_TO_DATE(@date, '%d/%m/%Y')