php中sql拼接成字符串,sql拼接列字符串
1.使⽤函数(sql2000以上)
create FUNCTION dbo.fn_dictCodesConcatByType(@filter varchar(1000))
RETURNS varchar(8000)
AS
BEGIN
DECLARE @v varchar(8000)
select @v = isnull(@v + ',','')+code FROM dict WHERE type=@filter
RETURN @v
END
GO
调⽤如下:
SELECT dbo.dictCodesConcatByType('Status')
如果你希望做成通⽤函数,类似如下:(其实是不可⾏的)
create FUNCTION dbo.fn_strConcat(@tableName varchar(100),@filedName varchar(100),@filter varchar(1000)) RETURNS varchar(8000)
AS
BEGIN
DECLARE @v varchar(8000),@sqlStr nvarchar(2000)
SET @v = ''
set @sqlStr='
select @val = isnull(@val + '','','''')+' + @filedName+' FROM '+@tableName+' WHERE '+@filter
exec sp_executesql @sqlStr, N'@val varchar(8000) out', @v out
RETURN @v
END
GO
由于Function⾥不⽀持  exec / sp_executesql ,所以这个是做不到的
SELECT dbo.fn_strConcat('dict','code','type=''status''')
[Err] 42000 - [SQL Server]只有函数和某些扩展存储过程才能从函数内部执⾏。
只能修改成存储过程⽅式
create PROC pr_strConcat
@tableName varchar(100),
@filedName varchar(100),
@filter varchar(1000), --不要加where
@r nvarchar(4000) output
AS
DECLARE @sqlStr nvarchar(2000) --这⾥只能⽤nchar,nvarchar,ntext中⼀个
set @sqlStr='select @val = isnull(@val + '','','''')+' + @filedName+' FROM '+@tableName+' WHERE '+@filter
print @sqlStr
exec sp_executesql @sqlStr, N'@val varchar(8000) output', @r output
调⽤如下:
DECLARE @r nvarchar(4000)
exec pr_strConcat 'dict','code','type=''status''',@r output
print @r
PostgreSql之在group by查询下拼接列
⾸先创建group_concat聚集函数: CREATE AGGREGATE group_concat(anyelement) ( sfunc = array_append, -- 每⾏的操作函数,将...
SQL: 拼接列
1. 因⼯作需要,需把两列(id,created_by)拼接成⼀列,结果很有意思,前5个值都是null.
2.解决⽅法:null加减乘除任何值都等于null,所以使⽤isnull函数先处理下列的值再拼 ...
【sql进阶】SQL Server 将某⼀列的值拼接成字符串
今天在统计报表的时候有这么⼀个需求,将⼀列字符串拼接成⼀⾏,然后展⽰到新的列中. 每⼀项的服务列表如下: 最终想要的结果是 sql如下: select AuxTypeName + ',' from ( ...
SQL查询结果拼接成字符串
sqlserver中将查询结果拼接成字符串  #for xml path(param)--将查询结果以xml格式输出 1 select id,name from table1 for xml pat ...
SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF
原⽂:SQL SERVER FOR 多列字符串连接 XML PATH 及 STUFF 本来⽤ Writer 写⼀篇关于⼀列多⾏合并的博客来的,结果快写完了时候,在⼀个插⼊代码时候,崩了,重新打开,居然 ...
在论坛中出现的⽐较难的sql问题:1(字符串分拆+⾏转列问题 SQL遍历截取字符串)
原⽂:在论坛中出现的⽐较难的sql问题:1(字符串分拆+⾏转列问题 SQL遍历截取字符串) 最近,在论坛中,遇到了不少⽐较难的sql问题,虽然⾃⼰都能解决,但发现过⼏天后,就记不起来了,也忘记解决的⽅ ...
oracle--批量删除部分表,将某⼀列拼接成字符串
1.查询要批量删除的表 SELECT * FROM USER_TABLES SELECT 'DROP '||'TABLE ' || TABLE_NAME ||' ;' ,1 FROM USER_TAB ...
SQL Server 列存储索引强化
SQL Server 列存储索引强化 SQL Server 列存储索引强化 1. 概述 2.背景 2.1 索引存储 2.2 缓存和I/O 2.3 Batch处理⽅式 3 聚集索引3.1 提⾼索引创建 ...
php部分--例⼦:租房⼦(复选框的全选、数组拼接成字符串、设置复选框的name值、)
1.链接数据库 <?php include("DBDA.class.php"); $db=new DBDA(); $sql="select * from fangz ...
随机推荐
总结:客户端与服务器端使⽤正则增加URL参数的⽅法
先说服务器端的: C#版本 #region URL参数操作 /// /// URL参数操作 /// public class UrlP ...
css例⼦
6.背景图像渐变的制作body{ background:#ccc url(xxx.gif)rpeat-x或y:}
7.给⼀个区块加上背景#branding{ width:700px: height:2 ...
Spring-Context之六:基于Setter⽅法进⾏依赖注⼊
上⽂讲了基于构造器进⾏依赖注⼊,这⾥讲解基于Setter⽅法进⾏注⼊.在Java世界中有个约定(Convention),那就是属性的设置和获取的⽅法名⼀般是:set+属性名(参数)及get+属性名() ...
数的统计count(bzoj1036)
Description ⼀棵树上有n个节点,编号分别为1到n,每个节点都有⼀个权值w.我们将以下⾯的形式来要求你对这棵树完成⼀些操作: I. CHANGE u t : 把结点u的权值改为t II. Q ...
『TCP/IP详解——卷⼀:协议』读书笔记——08
2013-08-21 13:56:23 3.3 IP路由选择 1. IP路由选择有两种情况.(1)如果⽬的主机与源主机直接相连(如点对点链路)或都在⼀个共享⽹络上(以太⽹或令牌环⽹),那么IP数据报就 ...
浏览器禁⽤Cookie,基于Cookie的会话跟踪机制失效的解决的⽅法
当浏览器禁⽤Cookies时.基于Cookie的会话跟踪机制就会失效.解决的⽅法是利⽤URL重写机制跟踪⽤户会话. 在使⽤URL重写机制的时候须要注意.为了保证会话跟踪的正确性,全部的链接和重定向语句 ...
Scala初体验
因为⼯作中要⽤到Scala了,本来前⾯⾃⼰还在学习Storm的,没有办法,先把Scala和Spark的这些内容学完在回去看Storm吧! 既然我们要学习Scala,那么我们不禁的要问了,什么是Scal ...
《通过C#学Proto.Actor模型》之Persistence
Actor是有状态的,当每⼀步执⾏失败后,返回失败地⽅继续执⾏时,希望此时的状态是正确的,为了保证这⼀点,持久化就成了必要的环节了. Proto.Actor提供了三种⽅式执久化: Event Sour ...
ztree实现中国省市区树形,可多选
⾸先表 CREATE TABLE `sys_area` ( `id` INT(11) NOT NULL COMMENT '编号', `parent_id` INT(11) NOT NULL COMME ...
【golang-GUI开发】qt之signal和slot(⼀)sql自学难吗
想了很久,我决定还是先从signal和slot(信号槽)开始讲起. signal和slot⼤家⼀定不陌⽣,先看⼀段⽰例(选⾃⽂档): class Counter : public QObject { ...

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。