0

我有一个大约 300K 记录的表。为了完全按照它们在原始文件中的存在方式导入它们。原始文件有管道和波浪号分隔符。我用管道撇号替换了管道波浪号,以便字段以文本形式出现。现在我需要去掉撇号。数据库实际上将字段存储为 ntext 而不是文本。这里真正的关键是许多字段都是零填充字段,我需要它们在数据库中保持零填充。

这是文本的示例。第一行是标题。

Rec '物品编号'替代。'集团 SKU' 大学。产品。Code '物品描述 'Cat '部门描述 'P.Cla '产品分类描述 'SC '子分类描述
'FLY '系列描述 '供应商货号 'Pur 'Shi '毛重 'UniWT '净重
'Length 'Width 'Height
'UniDim'卷'UniVol'供应商编号'Mfr价格
'供应商名称'Mgr'类别Mgr名称00'000000000022404373
'
'67000 SBC House Blend T-Discs '063 '办公耗材
'12560 '办公耗材 '01 '热饮
'01 'COFFEE '67000
'EA 'EA ' 14.700 'OZ ' 11.040 '
8.600 ' 7.000 ' 31.100 'IN '0. FT3 '0000008228' 'M BLOCK AND SONS INC
'017 'Patty Dunham 00 '000000000022404658 ' '
'400224046585 'NFR 2010 Merry Christmas 20Pk
'071 '非商品文章 '30001 'OfficeMax
'11'商品'01'礼品卡计划'
SV1003846'EA'EA'16.000'OZ'16.000'4.250'1.950'4.500'IN'0.022'FT3'0000934003''CERIDIAN STORED VALUE SOLUTION-'CERIDIAN STORED VALUE SOLUTION- '000000000022404676 ' ' '75353105641 "'气泡信封 10.5""x15 5Pk " '046 '收发室/移动
'07303 '牛皮纸包装/邮寄者 '01 'MAILERS
'02 'BUBBLE '756618
'EA 'EA' 14.200 '盎司' 14.200'
美国彭特尔有限公司 '004'科比·斯宾塞






我需要为数据库中的所有列提供文本字段,以及它们出现在上面示例中的值,包括前导零。

4

2 回答 2

0

桌子在哪里?它在 SQL Server 中吗?如果是这样,请更新状态,例如update table set column = replace(column, '''', ''). 然后你可以做一个alter table table_name alter column column_name varchar(some length). 尽管听起来您在谈论基于类型和前导 0 问题的 Access 数据库。如果以上没有回答,请澄清您的问题。

于 2013-06-28T18:13:32.723 回答
0

请查看此链接(使用该查询,您可以将 ' 和 '' 替换为空):

CREATE TABLE TEST(
  FIELD VARCHAR(8000))

INSERT INTO TEST(FIELD) VALUES(
  'Rec ''Article Number ''Substit. ''Group SKU ''Univ. Prod. Code ''Article Description ''Cat ''Department Description ''P.Cla ''Product CLass Description ''SC ''Sub CLass Description
''FLY ''Family Description ''Vendor article Number ''Pur ''Shi ''Gross weight ''UniWT ''Net weight
''Length ''Width ''Height
''UniDim ''Volume ''UniVol ''Vendor Num ''Mfr Price
''Vendor Name ''Mgr ''Category Mgr Name
00 ''000000000022404373 '' '' ''43000670002
''67000 SBC House Blend T-Discs ''063 ''Office Consumables
''12560 ''Office Consumables ''01 ''Hot Beverage
''01 ''COFFEE ''67000
''EA ''EA '' 14.700 ''OZ '' 11.040 ''
8.600 '' 7.000 '' 3.100 ''IN '' 0.108 ''FT3 ''0000008228 '' ''M BLOCK AND SONS INC
''017 ''Patty Dunham 00 ''000000000022404658 '' ''
''400224046585 ''NFR 2010 Merry Christmas 20Pk
''071 ''Non-Merchandise Articles ''30001 ''OfficeMax
''11 ''Merchandise ''01 ''Gift Card Program ''SV1003846 ''EA ''EA '' 16.000 ''OZ ''
16.000 '' 4.250 '' 1.950 '' 4.500 ''IN '' 0.022 ''FT3 ''0000934003 '' ''CERIDIAN STORED VALUE SOLUTIONS INC ''ZN1 ''Non-Merchandise 00 ''000000000022404676 '' '' ''75353105641 "''Bubble Envelope 10.5""x15 5Pk " ''046 ''Mailroom/Moving
''07303 ''KRAFT WRAP/MAILERS ''01 ''MAILERS
''02 ''BUBBLE ''756618
''EA ''EA '' 14.200 ''OZ '' 14.200 ''
16.500 '' 11.250 '' 1.250 ''IN '' 0.134 ''FT3 ''0000008162 '' ''SHURTECH BRANDS
''021 ''Mailroom 00 ''000000000022404756 '' ''
''72512244814 ''Champ .5mm 12pk Asstd Colors
''053 ''Writing Instruments ''10453 ''Mechanical Pencils ''02 ''Refillable
''01 ''Added Value (Refilla ''AL15BP12M
''EA ''EA '' 5.000 ''OZ '' 4.100 ''
7.600 '' 4.200 '' 1.000 ''IN '' 0.018 ''FT3 ''0000000146 '' ''PENTEL OF AMERICA LTD.
''004 ''Bryant Spencer'
  )

SELECT REPLACE(REPLACE(FIELD,'''',''),'''''','') FROM TEST
于 2013-06-28T18:31:27.633 回答