日期:2014-05-18  浏览次数:20624 次

-- 好久不来该论坛啦,据说本论坛高手如云,现将简单问题200分送上 --
http://topic.csdn.net/u/20110401/08/9146992b-03a8-469c-8b53-edf8318cf935.html

-- 现在假设出了个Excel 2010版本,其字段名称能够延伸到8位字母!
-- 要求继续修改上面链接中14楼的函数!(不限思路,只求高效!)

------解决方案--------------------
sfsf
------解决方案--------------------
路过。
------解决方案--------------------

------解决方案--------------------
哈哈,200分不给力,是吧?
------解决方案--------------------
非技术版 ,不给力。
------解决方案--------------------
Excel 2010?不太明白楼主的意思
------解决方案--------------------
探讨
http://topic.csdn.net/u/20110401/08/9146992b-03a8-469c-8b53-edf8318cf935.html

-- 现在假设出了个Excel 2010版本,其字段名称能够延伸到8位字母!
-- 要求继续修改上面链接中14楼的函数!(不限思路,只求高效!)

------解决方案--------------------
SQL code
create table tb (num int identity(1,1),name varchar(10))
declare @a varchar(10)
set @a='A'
while @a<'Z'
begin
insert into tb values (@a)
set @a=CHAR(ASCII(''+@a+'')+1)
end

--select * from tb


--版本什么的好像不要,无论什么版本只要输入的最大@id不超过该版本支持的最大行数就可以
declare @id int
set @id=5
;with cte
as(select ROW_NUMBER() over (order by len(name),name) as id,name from
(select name from tb
union all
select a.name+b.name from tb a,tb b) a)
select name from cte where id<=@id
--其实就是简化为如下
;with cte
as(select ROW_NUMBER() over (order by len(name),name) as id,name from
(select name from tb
union all
select a.name+b.name from tb a,tb b) a)
select name from cte where id<=10000--随便自己输入

name
--------------------
A
B
C
D
E

------解决方案--------------------
给力。
------解决方案--------------------
学习 ~
------解决方案--------------------
额。。。来啦
------解决方案--------------------
探讨
非技术版 ,不给力。

------解决方案--------------------

------解决方案--------------------

------解决方案--------------------
好比十进制转26进制(没有0的26进制)
------解决方案--------------------
过来学习的
------解决方案--------------------
强大哟,抢分来了.
------解决方案--------------------

------解决方案--------------------
单纯接分
------解决方案--------------------
探讨
单纯接分

------解决方案--------------------
分数给力能力不行 来接分吧
------解决方案--------------------
[code=SQL][/code]
-- =============================================
-- Create scalar function (FN)
-- =============================================
IF EXISTS (SELECT * 
FROM sysobjects 
WHERE name = N'GetExcelColumnTitle')
DROP FUNCTION GetExcelColumnTitle