相关文章推荐
卖萌的松树  ·  PrestoSQL(trino)和Hive ...·  6 月前    · 
销魂的可乐  ·  hive sql ...·  7 月前    · 
豪气的鸡蛋面  ·  SQL ...·  1 年前    · 
年轻有为的葫芦  ·  Excel导入SQL ...·  1 年前    · 
个性的乌冬面  ·  angular - Parameter ...·  1 年前    · 

数据库提示:
Conversion failed when converting date and/or time from character string.
The statement has been terminated.

也就是
转换日期和/或时间从字符串转换失败。
该声明已终止。

经过调查,错误的原因在于Exel中的日期格式是错误的,虽然看起来是日期格式,比如9/1/2018,但如果转成text格式你就会发现,它变成了44334.
因为表不是我创建的,我不知道为什么会发生这个事情,这个44334很明显是当前日期也就是9/1/2018减去1/1/1900的天数,我能做的就是在数据库中把这个数据转成日期,以我这种道行大概知道了应该怎么转换,但是做是做不出来的,研究出来估计得两天。
然后我们组的神级人物出现了。

update [dbo].[Sheet]
set LOD = DATEADD(day,cast(LOD as int) - 2,'1900/1/1')
where LOD is not null	

LOD为字段名,Sheet为表名
也可以先select一下,确认这个格式没有问题,和转换以后的日期是一样的。
然后就可以把字段转换成日期格式了。

alter table Sheet alter column LOD DateTime;

膜拜大神,给跪。

数据库提示:Conversion failed when converting date and/or time from character string.The statement has been terminated.也就是转换日期和/或时间从字符串转换失败。该声明已终止。经过调查,错误的原因在于Exel中的日期格式是错误的,虽然看起来是日期格式,比如9/1/2018,但如果转...
excel导入 mysql 时,时间字段格式问题解决 问题背景:将excel 数据导入 mysql 数据库时,时间字段显示为一串数字 解决方案:对 excel时间列进行格式修改解决 excel 测试表数据 数据库表数据结构,字段保证一一对应,不然会导入失败excel 表进行一下操作
问题描述: SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: 从字符串转换日期和/或时间时,转换失败。 Msg 241, Level 16, State 1, 从字符串转换日期和/或时间时,转换失败。 问题分析: 1、在SQL Server中datetime类型的值跟varchar类型的值比较,会将varchar类型的值先转为datetime类型,这样会报错。 select * from t_users where 1=1
通过navicat12倒出数据,文件格式是xls,但在xls修改完数据后再往数据库便导入便报错。此外因为数据量很大,超过24万条数据,但xls格式导出的内容只有6万多数据。不过最后还是解决了。 碰到的问题有: xls数据行数支持不足 xlsx和xls使用vlookup函数后报错,找不到对应数据(因为表格上是由绿色三角 主键约束问题 xlsx格式中日期数据库中datatime格式不符合 sqlserver自增长列标识导入的时候报错【这个是最坑的一切的源头! 1.xls数据行数支持不足
1.报错内容: (241, b'Conversion failed when converting date and/or time from character string.DB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\n') 2.报错原因: 时间字段的类型错误或时间字段为None,不能直接插入 1.正确的类型<class ‘da
EXCEL导入时间格式处理问题 有时候会出现电脑时间设置不是数据库标准的时间格式(标准格式:yyyy-MM-dd HH:mm:ss.fff),存入数据库会提示时间格式不正确 解决方案:在最后的SQL赋值时,将时间字段(tm.BuildDate.ToString(“yyyy-MM-dd”))转换为字符串格式
如果数据比较少,一点一点录入到数据库中也不费什么时间,但是数据比较多,要花费的时间也比较多,有可能会耗费二十几或三十几分钟的时间。在SQL Server导入excel数据是非常节省时间、提高效率的一种方法,是聪明人的选择。 1、打开SQL Server在新建的数据库的【表】上新建一个表,配置好列属性。 2、选择并右击新建的数据库,点击【任务】,然后选择并点击【导入数据】。 3、弹出SQL Server导入和导出向导窗口,点击【下一步】。 4、数据源选择excel文件路径选择需要导入的.
要实现Winform窗体中的Excel导入MySQL数据库,可以按照以下步骤进行: 1. 在Winform窗体中添加一个控件用于选择Excel文件,例如OpenFileDialog控件。 2. 使用ExcelDataReader库读取Excel文件中的数据。该库支持读取多种格式的Excel文件,包括xls和xlsx格式。 3. 连接到MySQL数据库,可以使用MySQL Connector/NET库实现。 4. 将读取到的Excel数据转换为MySQL数据库中对应的数据类型,并插入到MySQL数据库中。 以下是一个简单的示例代码: ```csharp private void btnImport_Click(object sender, EventArgs e) // 选择Excel文件 OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm"; if (dialog.ShowDialog() != DialogResult.OK) return; // 读取Excel文件 using (var stream = File.Open(dialog.FileName, FileMode.Open, FileAccess.Read)) using (var reader = ExcelReaderFactory.CreateReader(stream)) // 获取第一个工作表 reader.Read(); var dataTable = reader.AsDataSet().Tables[0]; // 连接到MySQL数据库 var connectionString = "server=localhost;user id=root;password=123456;database=test"; using (var connection = new MySqlConnection(connectionString)) connection.Open(); var command = connection.CreateCommand(); // 生成插入SQL语句 var sql = new StringBuilder(); sql.Append("INSERT INTO table_name (column1, column2, column3) VALUES "); for (int i = 1; i < dataTable.Rows.Count; i++) sql.AppendFormat("('{0}', '{1}', '{2}'), ", dataTable.Rows[i][0], dataTable.Rows[i][1], dataTable.Rows[i][2]); sql.Remove(sql.Length - 2, 2); // 移除最后一个逗号和空格 command.CommandText = sql.ToString(); // 执行SQL语句 command.ExecuteNonQuery(); 其中,`table_name`表示要插入数据的MySQL数据库表名称,`column1`、`column2`、`column3`表示Excel表中对应的列名。根据实际情况修改即可。