Mysql sql:如何将行中的值转换为带有前缀和后缀的变量
我在表中有以下值Mysql sql:如何将行中的值转换为带有前缀和后缀的变量,mysql,sql-server,Mysql,Sql Server,我在表中有以下值 Exec_Date -------- 2017-02-17 2017-02-18 2017-02-19 2017-02-20 2017-02-20 列表中的值会有所不同,我需要放置一个查询并将所有不同的值从行中获取到一个带有前缀和siffix的变量 像 我试着用 DECLARE @Names VARCHAR(MAX) SELECT @Names = COALESCE(@Names + '],', '[') + Exec_Date FROM #TempTable SELE
Exec_Date
--------
2017-02-17
2017-02-18
2017-02-19
2017-02-20
2017-02-20
列表中的值会有所不同,我需要放置一个查询并将所有不同的值从行中获取到一个带有前缀和siffix的变量
像
我试着用
DECLARE @Names VARCHAR(MAX)
SELECT @Names = COALESCE(@Names + '],', '[') + Exec_Date
FROM #TempTable
SELECT @Names
但它返回如下,这是不正确的
[2017-02-17],2017-02-18],2017-02-19],2017-02-20
我认为您正在寻找和: 产生:
[2017-02-17],[2017-02-18],[2017-02-19],[2017-02-20]
只需添加
'],['
而不是'],'
,然后在最后一行中添加]
下一步:-
Create table #TempTable (Exec_Date VARCHAR(MAX))
go
insert into #TempTable values
('2017-02-17'),
('2017-02-18'),
('2017-02-19'),
('2017-02-20')
DECLARE @Names VARCHAR(MAX)
SELECT @Names = COALESCE(@Names + '],[', '[') + Exec_Date -- '],[' is added instead of '],'
FROM #TempTable
SELECT @Names = @Names + ']' -- this line is Added
SELECT @Names
结果:-
[2017-02-17],[2017-02-18],[2017-02-19],[2017-02-20]
老板:)。再次谢谢你
Create table #TempTable (Exec_Date VARCHAR(MAX))
go
insert into #TempTable values
('2017-02-17'),
('2017-02-18'),
('2017-02-19'),
('2017-02-20')
DECLARE @Names VARCHAR(MAX)
SELECT @Names = COALESCE(@Names + '],[', '[') + Exec_Date -- '],[' is added instead of '],'
FROM #TempTable
SELECT @Names = @Names + ']' -- this line is Added
SELECT @Names
[2017-02-17],[2017-02-18],[2017-02-19],[2017-02-20]