1.复制数据库表的ddl信息,得到如下
CREATE TABLE [dbo].[AAAAA] (
[ID] uniqueidentifier NOT NULL,
[ChannelCode] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL,
[ChannelName] nvarchar(200) COLLATE Chinese_PRC_CI_AS NULL,
.....
CONSTRAINT [AAAAA] PRIMARY KEY CLUSTERED ([ID])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
)
ON [PRIMARY]
GO
ALTER TABLE [dbo].[AAAA] SET (LOCK_ESCALATION = TABLE)
2.打开pychram,编写代码如下
import re # 定义一个包含方括号的字符串 text = '''[ChannelCode] nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, [ChannelName] nvarchar(200) COLLATE Chinese_PRC_CI_AS NULL, [Country] nvarchar(100) COLLATE Chinese_PRC_CI_AS NULL, [SalesMonth] nvarchar(7) COLLATE Chinese_PRC_CI_AS NULL, [quantity] decimal(19,2) NULL, [SumRQty] decimal(19,2) NULL, [product_sales] decimal(19,5) NULL, [product_sales_tax] decimal(19,5) NULL, [shipping_credits] decimal(19,5) NULL, [shipping_credits_tax] decimal(19,5) NULL, [gift_wrap_credits] decimal(19,5) NULL, [giftwrap_credits_tax] decimal(19,5) NULL, [Regulatory_Fee] decimal(19,5) NULL, [Tax_On_Regulatory_Fee] decimal(19,5) NULL, [promotional_rebates] decimal(19,5) NULL, [promotional_rebates_tax] decimal(19,5) NULL, [marketplace_withheld_tax] decimal(19,5) NULL, [selling_fees] decimal(19,5) NULL, [fba_fees] decimal(19,5) NULL, [other_transaction_fees] decimal(19,5) NULL, [other] decimal(19,5) NULL, [total] decimal(19,5) NULL, [RAmount] decimal(19,5) NULL, [AdvAmount] decimal(19,5) NULL, [FBAInventoryCompensationFBA] decimal(19,5) NULL, [FBAStorageFee] decimal(19,5) NULL, [ProAmount] decimal(19,5) NULL, [Adjustment] decimal(19,5) NULL, [InAmount] decimal(19,5) NULL, [OwnerCode] nvarchar(30) COLLATE Chinese_PRC_CI_AS NULL, [CreateCode] nvarchar(30) COLLATE Chinese_PRC_CI_AS NULL, [CreateDate] datetime NULL, [ModifyCode] nvarchar(30) COLLATE Chinese_PRC_CI_AS NULL, [ModifyDate] datetime NULL, [otherAmount] decimal(19,5) NULL, [ROrderAmount] decimal(19,5) NULL, [RefundDiff_A] decimal(19,5) NULL, [RefundDiff_B] decimal(19,5) NULL, [RefundDiff_C] decimal(19,5) NULL,"''' # 使用正则表达式提取方括号中的内容 results = re.findall(r'\[(.*?)\]', text) # print(results) ''' # 第一种写法 results2=[res+',' for res in results] results2[-1]=results[-1] ''' # 推导式写法 result3=[value+',' if index < len(results)-1 else value for index,value in enumerate(results)]#enumerate变化为index和value形式+三元推导式 for i in result3: print(i)
运行结果如下:
直接复制到select from AAA之间就可以了