インポートをテキストに変換する必要がありVarChar
、このコードが見つかりました
select * from [VWSA_Sewells].[dbo].[Sewells_1Mth_Composite] where ISNUMERIC(201307)=0
alter table [VWSA_Sewells].[dbo].[Sewells_1Mth_Composite] Add 201307_Temp decimal(17,4)
GO
--Update temporary column with the values from 201307
update [VWSA_Sewells].[dbo].[Sewells_1Mth_Composite] set 201307_Temp = 201307
GO
--set 201307 to null
update [VWSA_Sewells].[dbo].[Sewells_1Mth_Composite] set 201307 = NULL
GO
--Change the datatype of 201307
alter table [VWSA_Sewells].[dbo].[Sewells_1Mth_Composite] alter column 201307 decimal(17,4)
GO
--Update the numeric values in 201307
--before doing this you have make sure select * from [VWSA_Sewells].[dbo]. [Sewells_1Mth_Composite] where ISNUMERIC(201307_Temp)=0 returns nothing.
update [VWSA_Sewells].[dbo].[Sewells_1Mth_Composite] set 201307 = Cast(201307_Temp as decimal(17,4))
GO
私のテーブルには、Ratio_ID
たとえば列 1に a が含まれており、見出し 201307 の下の列 2 にVW1537_is02p
は実際の値が含まれています。Ratio
列 201307 には、0.2242、5042050.40 などの数値データのみが含まれます。小数点以下 4 桁を超える数値はありません。
SQL Server 2008 のエラー メッセージは次のとおりです。
メッセージ 102、レベル 15、状態 1、行 3
'201307' 付近の構文が正しくありません。
10 進数が最大 10 億と 4 桁の金額を提供し、クエリ (>1 など) を許可する限り、10 進数に固執することができます。
何か案は?