代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
MSSQL
】
获取某个表中特定字段的所有字符串形式
作者:
/ 发布于
2019/10/15
/
1110
/***************************************************************************** * Name: sp_GetString * Author: Ridge Wong * Create Date: 2005年11月24日 15:16:43 * Version: V1.0.1 * usage: Get some FIELDs value colletion of one TABLE by your Sperator * Example: * --[RUN] * exec sp_GetString 'tbl_Ring_size','rs_id','rs_id,rsize',',','|' * exec sp_GetString 'tbl_Ring_size','rs_id','rsize' * --[RETURN] * 1,mid|2,midi|3,wav|4,mmf|5,pmd|6,imy|7,amr|8,mld|9,adp|10,wma|11,mp3|12,mfm * mid|midi|wav|mmf|pmd|imy|amr|mld|adp|wma|mp3|mfm * --------------------------------------------------- * remarks: Note Support a field's value is null. *****************************************************************************/ ALTER PROCEDURE [dbo].[sp_GetString] ( @tblName nvarchar(20), -- 表名 @getIdName nvarchar(20), -- 主键ID @getFieldNames varchar(1000), -- 获取字段列表,不支持通配符号*。 @colSperator varchar(500) = ',', -- 列分隔符 @rowSperator varchar(500) = '|') -- 行分割符 AS declare @eof bit declare @id int declare @result varchar(8000) declare @oTemp varchar(4000) declare @sql nvarchar(4000) set @eof = 0 set @id = 0 set @result = '' -- 判断是否是多列 if CHARINDEX(',',@getFieldNames,1)>0 set @getFieldNames = 'Convert(nvarchar(4000),' + Replace(@getFieldNames,',',') + '+ char(39) + @colSperator + char(39) + ' + Convert(nvarchar(4000),') + ')' while (@eof = 0) begin set @sql = 'select @id = IsNull((select top 1 '+ @getIdName + ' from ' + @tblName + ' where ' + @getIdName + '>=@id),0)' exec sp_executesql @sql, N'@id int output', @id output set @sql = 'select @oTemp = (select top 1 '+ @getFieldNames +' from '+ @tblName +' where '+ @getIdName +' = '+ cast(@id as varchar(20)) +')' exec sp_executesql @sql, N'@oTemp varchar(4000) output', @oTemp output if @id = 0 set @eof = 1 else begin set @result = @result + @rowSperator + @oTemp set @id = @id + 1 end end set @result = SubString(@result,len(@rowSperator)+1,len(@result)-len(@rowSperator)) select @result as ResultString
试试其它关键字
同语言下
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
可能有用的
.
SQL查询 多列合并成一行用逗号隔开
.
查看存储过程修改时间,最近执行时间
.
设置手动批量删除数据库相关进程
.
获取某个表中特定字段的所有字符串形式
.
SQL 如何去除重复的字符串
.
怎么去掉一个字段中的重复数据
.
String 去除空格 回车 换行 水平制表符
.
SQL查询和替换含有回车,空格,TAB
.
SQL SERVER 查询每日新增用户数量、次留数量
.
判断两个字符串是否存在相同的内容
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3