sql查询列进行STUFF()拼接 单引号 逗号_xml path excel

有时候查询出的某一列结果要作为其他数据库查询条件,必须要做拼接转换

方法:

SELECT [id] = stuff((SELECT distinct ‘,‘‘‘ + t.id + ‘‘‘‘ FROM table t WHERE t.id = 1 FOR xml path (‘‘)),1,1,‘‘);
方法使用如下:

SELECT [Id] = STUFF((SELECT DISTINCT ‘,‘‘‘ + Ld + ‘‘‘‘ FROM BaseMeterFieldType AS b WHERE b.MeterId IN (SELECT Id FROM BaseTree WHERE CompanyId = ‘071B4795-E124-E711-80EA-C979862AE7CB‘) FOR xml PATH(‘‘)),1,1,‘‘);

执行结果:

以上报错是由于id为GUID,且id需要小写,所以需要进行类型转换,方法如下:

SELECT [Id] = STUFF((SELECT DISTINCT ‘,‘‘‘ + CAST(LOWER(b.Id) AS VARCHAR(4000)) + ‘‘‘‘ FROM BaseMeterFieldType AS b WHERE b.MeterId IN (SELECT Id FROM BaseTree WHERE CompanyId = ‘071B4795-E124-E711-80EA-C979862AE7CB‘) FOR xml PATH(‘‘)),1,1,‘‘);

执行结果:

原文地址:https://www.cnblogs.com/Damon-LLJ/p/11326402.html

时间: 2024-10-20 15:38:54

sql查询列进行STUFF()拼接 单引号 逗号_xml path excel的相关文章

拼接SQL执行语句时,对单引号的处理

例: declare @SQL nvarchar(1000); declare @str nvarchar(100); set @str='Joe''s NB'; // 打印出来的应该是这样:Joe's NB set @SQL='select * from table where t1=''' + @str + ''''; print(@SQL); // 打印SQL语句看看是否正确 exec (@SQL); ============================================

SQL语句中条件里需要有单引号问题

经常写SQL语句条件中会有两个单引号,但是本身又被单引号包括, 如select * from control where column=' '  如果column中的条件为exec usp_Data '{0}' 那这个就不好办了,就这样拿进去sql语句就报语法错误. 那么解决的方法就是在column的条件中用两个单引号来表示一个单引号... 这样问题就解决了 如下: select * from control where column=' exec usp_Data ''{0}'''

sql 查询列明为关键字加方括号---备忘

1 USE [Golf73_BJSY] 2 GO 3 /****** Object: StoredProcedure [dbo].[P_FrontCounter_GetCheckInfoByCondition] Script Date: 11/18/2014 11:38:50 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 -- =========================================

java中的单引号和双引号

1.单引号引的数据 是char类型的,双引号引的数据 是String类型的:单引号只能引一个字符,而双引号可以引0个及其以上.char只是一个基本类型,而String 可以是一个类,可以直接引用.比如char c='c';不能直接对c调用方法.String s="abc";  这时可以调用s.charAt(0);等方法,因为String是类,这是就是对象的调用了 2.在sql语句中单引号可以标识文本型的数据.都是界符,用来标识它们引用数据的开始和结束.另外java中的sql里传变量时使

java 中的 sql 单引号双引号拼接变量

String sqlString="select * from tb_wf_main where trim(WF_NAME) = '   " + wfName.trim() + "  '    "; java中的字符串只能双引号(js可以单引号也可以双引号),以上,如果字符串中需要拼接变量,该变量用单引号括起来,然后加两个双引号再加两个加号,中间就是变量  只需要这样记住就行:单引号 括双引号 两个加号 中间变量   ( 0Q0   OMG)  js 也是可以这样拼

SQL语句中有关单引号、双引号和加号的问题

字符串数据是用单引号包在外面的,而+号只是用来连接这些字符串的. 数据库里的字段是整型的时候不要加单引号,是字符串的时候要加,其它类型根据实际情况来,双引号就是用来拼接字符串的,单引号是sql文的固有写法,因为你要动态的来拼接,涉及到变量,所以要用"+"来组合各个字符串片段.最终结果无非就是得出能在数据库查询分析器中执行的sql文. String sql = "insert into student values ( " + student.getId() + &q

SQliteDatabase 中sql语句引用字符串时的注意点,要把单引号放进去,E/SQLiteLog﹕ (1) no such column:

如下面所示:name是string型的,这样直接引用会出现错误提示: android.database.sqlite.SQLiteException: no such column: longman (code 1): , while compiling: insert into demo (name,age) values(longman,55) public void insertData(String name, int age) { db.execSQL("insert into dem

sql查询时加上行号

sql查询时加上行号 sql查询的时候有时候要加上行号,这里做个备忘~ 1(建议采用),select row_number() over (order by col1) as no,newid() as id,*from Table1order by col1 2,select no=identity(int,1,1),newid() as id,* into  #temptable From  Table1order by col1Select * From #temptableDrop Ta

【python】sql语句插入中内容同时包含单引号和双引号的解决办法

在python中调用MySQLdb模块插入数据信息,假设待输入信息data为: Hello'World"! 其中同时包含了单引号和双引号 一般插入语句为 sql = "insert into tb (my_str) values('%s')" % (data) cursor.execute(sql) 其中values('%s')中的%s外面也要有引号,这个引号与data中的引号匹配导致了内容错误 解决办法:转义字符 将data变为下面的形式,再插入数据库就正确了 Hello\