1
Я переношу данные из старой базы данных в новую базу данных. Несколько столбцов имеют разные типы данных. вместо float, десятичное число есть в новом db. мой запрос ниже, но его дает ошибку:Как вставить другой тип данных в другую таблицу
Arithmetic overflow error converting float to data type numeric.
есть ли способ, чтобы вставить все данные без каких-либо проблем
Запрос:
insert into [newdb].[dbo].[newtab](State,StationID,AlertLevel,WarningLevel,DangerLevel,NormalLevel,UpperWaterLevel,LowerWaterLevel,WaterLevel_StationCode,RainFall_StationCode,OneHourRainfall,TwoHourRainFall,FourHourRainfall,TwantyFourHourRain,Lattitude,Longitude,District,RiverBasin,StationType)
Select State,Station_Name,ALERT,WARNING,DANGER,NORMAL,UPPER_WL,LOWER_WL,STID_WL,STID_RF,RF1HR,RF2HR,RF4HR,RF24HR,LATITUDE,LONGITUDE,DISTRICT,RIVER_BASSIN,StType from [olddb].[dbo].oldtab;
Типы данных:
Olddb
STATE varchar(50)
STATION_NAME varchar(50)
MMIID int
STATION_ID int
ALERT float
WARNING float
DANGER float
NORMAL float
MAX_WL float
MAIN_ID int
UPPER_WL float
LOWER_WL float
STID_WL int
STID_RF int
RF1HR float
RF2HR float
RF4HR float
RF24HR float
LATITUDE decimal(7, 6)
LONGITUDE decimal(9, 6)
REAL_NAME varchar(50)
DISTRICT varchar(50)
RIVER_BASSIN varchar(50)
position_wl int
station_status int
position_rf int
FULLNAME varchar(70)
station_update int
rainfall_name varchar(70)
TIMESTAMPS smalldatetime
Lembangan int
StType varchar(50)
NEWDB
ID int
StationID varchar(50)
StationName varchar(100)
District varchar(50)
RiverBasin varchar(50)
CrossSectionID varchar(50)
LastUpdate datetime
State varchar(50)
CreatedBy varchar(50)
CreationDate datetime
Deletedby varchar(50)
DeletionDate datetime
Lattitude decimal(9, 6)
Longitude decimal(9, 6)
Status bit
OneHourRainfall int
TwoHourRainFall int
FourHourRainfall int
TwantyFourHourRain int
NormalLevel decimal(7, 2)
AlertLevel decimal(7, 2)
WarningLevel decimal(7, 2)
DangerLevel decimal(7, 2)
StationType varchar(50)
WaterLevelParameter varchar(1)
NormalMin decimal(7, 2)
NormalMax decimal(7, 2)
ModerateMin decimal(7, 2)
ModerateMax decimal(7, 2)
HeavyMin decimal(7, 2)
HeavyMax decimal(7, 2)
RainfallParameter varchar(1)
UpperWaterLevel decimal(7, 2)
LowerWaterLevel decimal(7, 2)
PostWL decimal(7, 2)
PostRF decimal(7, 2)
FlowParameter varchar(1)
RainFall_StationCode varchar(50)
WaterLevel_StationCode varchar(50)
Flow_StationCode varchar(50)
StationStatus varchar(10)
WaterLevelStation varchar(10)
ImageName varchar(50)
ModifyBy varchar(50)
ModifyDate datetime
Spike15MinWL decimal(7, 2)
Spike1HrWL decimal(7, 2)
RainfallHigh decimal(7, 2)
Возможно, вам стоит прочитать этот https://msdn.microsoft.com/en-us/library/ms187746.aspx –
@lc. ни один столбец не равен в select и insert statement – vim