【问题标题】:Data is converting into some weird data in asp.net数据正在转换为 asp.net 中的一些奇怪的数据
【发布时间】:2015-07-08 10:26:15
【问题描述】:

我通过在数据库中创建类型从 Excel 上传到数据库 然后将所有数据插入到另一个表中。

例如:

CREATE TYPE [dbo].[temp_tbl_vendor] AS TABLE([VendorCode] [varchar](10) NULL,
[BillDt] [varchar](12) NULL )

create proc myproc_bulkinsert
(@venid int, @temptable temp_tbl_vendor readonly) 
as
begin
insert into mynewtab select *from temp_tbl_vendor 
end

一切正常,唯一的问题是 20150702 的 Excel 数据正在更改为 2.01507e002

【问题讨论】:

  • 在 Excel 中检查该列的格式。改成数字
  • 在excel中将该列格式化为数字或文本并再次检查。
  • 20150702 不是日期值吗?以及你想要表格中的哪种数据类型?
  • @jarlh:这取决于你如何阅读它。它也可以是整数。

标签: sql asp.net


【解决方案1】:

您的设计中有几个问题。

  1. 永远不要将日期作为字符串存储在数据库中。 Date 是一个日期,应该存储在 DateTime 字段中。

temp_tbl_vendor 更改为:

CREATE TYPE [dbo].[temp_tbl_vendor] AS TABLE([VendorCode] [varchar](10) NULL,
[BillDt] DATETIME NULL )

mynewtab 中的对应列更改为 DATETIME 字段

  1. 在插入 temp_tbl_vendor 之前,您需要将电子表格列转换为日期类型和/或更重要的是,将其读入日期字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多