我制作了一个脚本,用于将数据从外部文件导入SQL表(SQL 2012)。 外部文件的第一列只是数字,SQL表的列是INT。
现在,在外部文件中,他们有插入字母数字数据,如'6B32E',它不再正确同步。
我无法更改SQL列的类型。
是否可以替换并转换为INT那种字符串。 ? 我的想法是用字母表中的地方号码替换字母。
在示例中,'6B32E'将变为'62325'
答案 0 :(得分:1)
您可以使用REPLACE
(26次)。它不会很漂亮,但它会起作用。它将开始这样的事情;
测试数据
CREATE TABLE #TestData (TextField nvarchar(5))
INSERT INTO #TestData (TextField)
VALUES
('6B32E')
,('A6E52')
,('58C69')
查询
SELECT
TextField
,REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(TextField,'A',1),'B',2),'C',3),'D',4),'E',5) IntField
FROM #TestData
输出
TextField IntField
6B32E 62325
A6E52 16552
58C69 58369