小编Jam*_*esH的帖子

T-SQL - 字符串连接

希望有人可以提供帮助 - 我是新手SQL黑客(确实非常糟糕!)

我在SQL Server 2005表1和表2上有两个表:

表格1

COL1         COL2
1            10
2            20
3            30
4            10
4            20
5            20
6            30
7            10
7            20
Run Code Online (Sandbox Code Playgroud)

TABLE2

COL1         COL2
10            A
20            B
30            C
Run Code Online (Sandbox Code Playgroud)

TABLE2中的COL2是COL2 TABLE1中数值数据的字符表示.我希望这是可以理解的吗?

我已经研究了如何从TABLE1中选择COL1和COL2并连接结果以显示:

COL1         COL2Concat
1            10
2            20
3            30
4            10, 20
5            20
6            30
7            10, 20, 30 
Run Code Online (Sandbox Code Playgroud)

使用这个:

SELECT  COL1,
        STUFF(( SELECT  ',' + CAST(a.COL2 AS VARCHAR(255)) AS [text()]
                FROM    TABLE1 a
                WHERE   a.COL1 = b.COL1
                ORDER BY a.COL2 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2005

4
推荐指数
1
解决办法
918
查看次数

搜索和替换批处理文件的问题

我有一个XML文件,我有一个批处理文件来搜索该文件中的特定字符串,将其替换为用户定义的字符串,然后将其输出到新的XML文件:

@echo off > entities_1.xml
setLocal EnableDelayedExpansion

if exist entities_1.xml del entities_1.xml
set /p name= What is the new space NAME?

for /f "tokens=* delims= " %%G in (entities.xml) do (
set str=%%G
set str=!str:[Test Space]=[%name%]!
echo !str! >> entities_1.xml
)
Run Code Online (Sandbox Code Playgroud)

这有效,[Test Space]的任何实例都将替换为用户定义的值.

然而,我的问题是批处理文件也是剥离感叹号(!)标记的实例.例如,在XML中有类似于这样的行:

<property name="title"><![CDATA[TEST2]]></property>
Run Code Online (Sandbox Code Playgroud)

运行批处理脚本时,它正在用以下代码替换:

<property name="title"><[CDATA[TEST2]]></property>
Run Code Online (Sandbox Code Playgroud)

即剥离!

我哪里错了?有任何想法吗?

batch-file

2
推荐指数
1
解决办法
4090
查看次数

标签 统计

batch-file ×1

sql ×1

sql-server ×1

sql-server-2005 ×1

t-sql ×1