You can insert the machine generated code into a column in a staging table and then use the
SUBSTRING[
^] function to retrieve the data from that column.
Here is a code sample
CREATE TABLE tblSample
(
Col1 VARCHAR(MAX)
)
Your bulk insert would look like this
BULK INSERT tblSample
FROM 'Your file path'
WITH
(
ROWTERMINATOR = '\n'
)
Sample code of how to use substring function to split the data in single column.
INSERT INTO tblSample
SELECT '**31201201100915000100000043210001**' UNION ALL
SELECT '**31201205301806000200000043210011**'
SELECT SUBSTRING(Col1, 3,2) AS MachineCode
,SUBSTRING(Col1,5,4) AS [Year]
,SUBSTRING(Col1,9,2) AS [Month]
,SUBSTRING(Col1,11,2) AS [Day]
,SUBSTRING(Col1,13,2) AS [Hour]
,SUBSTRING(Col1,15,2) AS [Min]
,CASE WHEN SUBSTRING(Col1,17,4) = '0001' THEN 'In' WHEN SUBSTRING(Col1,17,4) = '0002' THEN 'Out' ELSE SUBSTRING(Col1,17,4) END AS [InOrOut]
,SUBSTRING(Col1,21,10) AS EmployeeCode
,CASE WHEN SUBSTRING(Col1,31,4) = '0001' THEN 'Terminal In' WHEN SUBSTRING(Col1,31,4) = '0011' THEN 'Terminal Out' ELSE SUBSTRING(Col1,31,4) END AS [TerminalInOrOut]
FROM tblSample