我们知道,使用如下的语句:
SELECT '4546465' AS MYDATA
可以获得一个固定的值'4546465'作为MYDATA列。现在有个疑问:
是否有类似的语句,让我们可以获得一列固定的值作为MYDATA列?
打个比方,我们采用SELECT ('4546465','4486545','876464') AS MYDATA,然后我们获得如下数据:
MYDATA
'4546465'
'4486545'
'876464'谢谢!
SELECT '4546465' AS MYDATA
可以获得一个固定的值'4546465'作为MYDATA列。现在有个疑问:
是否有类似的语句,让我们可以获得一列固定的值作为MYDATA列?
打个比方,我们采用SELECT ('4546465','4486545','876464') AS MYDATA,然后我们获得如下数据:
MYDATA
'4546465'
'4486545'
'876464'谢谢!
create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
/*--实现split功能 的函数
--date :2005-4-20
--Author :Domino
*/
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>'\'
insert @temp values(@SourceSql)
return
end
select * from dbo.f_split('山东:济南:山东:济南',':')select top 1 * from f_split('山东:济南',':')
SELECT ('4486545') AS MYDATA union all
SELECT ('4486545') AS MYDATA