Sql server Microsoft sql 2008字符串格式
我想知道在MicrosoftSQL2008中是否有什么东西可以在C中做类似的事情Sql server Microsoft sql 2008字符串格式,sql-server,string,sql-server-2008,format,Sql Server,String,Sql Server 2008,Format,我想知道在MicrosoftSQL2008中是否有什么东西可以在C中做类似的事情 for(int i = 0; i < 10; ++i) String.Format("ABC {0} XYZ", i.ToString()); 列的数目是由一个变量指定的,所以我想知道是否有一个函数可以执行String.Format,这样我就可以在循环中使用了 理想情况下,我想编写一个存储过程,然后传入 "Col{0} Float" 下一个版本有一个函数,或者您可以在SQLServer2008
for(int i = 0; i < 10; ++i)
String.Format("ABC {0} XYZ", i.ToString());
列的数目是由一个变量指定的,所以我想知道是否有一个函数可以执行String.Format,这样我就可以在循环中使用了
理想情况下,我想编写一个存储过程,然后传入
"Col{0} Float"
下一个版本有一个函数,或者您可以在SQLServer2008中运行自己的CLR函数,该函数调用.NETFramework格式化方法,但对于您所述的用例,我只使用如下内容
DECLARE @ColList varchar(max) =
(SELECT ',Col',number+0,' FLOAT'
FROM master..spt_values
WHERE type = 'P'
AND number BETWEEN 1 AND 10
FOR XML PATH(''))
SELECT STUFF(@ColList, 1, 1, '')
您只是将文本连接到列,以便可以使用+: 从MyTable中选择EmployeeName+EmployeeName作为EmployeeName 您必须注意使用+尽管这取决于数据类型,但始终有强制转换和转换来帮助您将数据类型强制转换为特定类型
Declare @variable INT
Declare @columnName varchar(50)
Declare @columnType varchar(10)
Select @columnName + CONVERT(varchar(10), @variable) + ' ' + @columnType
给你。将变量指定给int值并在循环中运行,也可以在sql中创建该循环。我将在sql中执行此操作,而不是来回执行。但这取决于你的逻辑
Declare @variable INT
Declare @columnName varchar(50)
Declare @columnType varchar(10)
Select @columnName + CONVERT(varchar(10), @variable) + ' ' + @columnType