数据格式如下:
t1;t2;t3;t4;t5;t6;t7;t8;t9;t10;t11;t12;t13;t14;
ps:字段名没有相似点,只用分号进行隔开
创建的字段类型都是NVARCHAR类型
数据库是sql2000或者2005
在 SQL Server 2000 或 2005 中,可以使用 "CREATE TABLE" 语句来创建一张表,并使用 "NVARCHAR" 数据类型来定义字段。
首先,需要将字符串分割成字段名数组。
然后,可以使用循环遍历字段名数组,并在 "CREATE TABLE" 语句中动态生成字段定义。
示例代码如下:
DECLARE @fields AS NVARCHAR(MAX) = 't1;t2;t3;t4;t5;t6;t7;t8;t9;t10;t11;t12;t13;t14;'
DECLARE @field_list AS NVARCHAR(MAX) = ''
DECLARE @table_name AS NVARCHAR(255) = 'MyTable'
-- split the fields string into an array
DECLARE @fields_array AS NVARCHAR(MAX)
SELECT @fields_array = @fields
-- loop through the fields array and create field definition
DECLARE @field_name AS NVARCHAR(255)
WHILE LEN(@fields_array) > 0
BEGIN
SELECT @field_name = LEFT(@fields_array,
ISNULL(NULLIF(CHARINDEX(';', @fields_array) - 1, -1),
LEN(@fields_array)))
SELECT @field_list = @field_list +
@field_name + ' NVARCHAR(255),'
SELECT @fields_array = SUBSTRING(@fields_array,
ISNULL(NULLIF(CHARINDEX(';', @fields_array), 0),
LEN(@fields_array)) + 1, LEN(@fields_array))
END
-- remove the last ',' from the field list
SELECT @field_list = LEFT(@field_list, LEN(@field_list) - 1)
-- create the table
DECLARE @create_table_sql AS NVARCHAR(MAX)
SET @create_table_sql = 'CREATE TABLE ' + @table_name + ' (' + @field_list + ')'
EXEC (@create_table_sql)
该代码使用分号来分割字段,并在循环中将字段添加到字段列表中,并在结束时删除最后一个逗号。最后,生成的字段列表被添加到 "CREATE TABLE" 语句中,并使用 "EXEC" 语句执行创建表的语句。
请注意,上述示例代码中所有字段都将使用 "NVARCHAR(255)" 类型创建。如果需要,可以在循环中根据需要更改字段类型。
此外,该示例代码将表命名为 "MyTable",如果需要,也可以根据需要更改表名。
还需要注意的是这段代码是在T-SQL语言环境下运行的。如果是通过应用程序连接数据库并执行,请根据应用程序支持的语言进行修改。