Sql问题,帮忙解决一下~

来源:百度知道 编辑:UC知道 时间:2024/06/14 16:18:00
我有一些由0-9组成的且长度小于等于10的字符串数据,
如1234567890,33546879,645654878
我现在想从这些数据中挑选出格式为:
ab*ab*
*ab*ab*
*ab*ab
a和b都为0-9的变量,且a<>b,*代表至少一位的任意数
第一种格式可以筛选出如:125654122,540545698,391458390
第二种格式可以筛选出如:5014014698,8923752341,4578213789
第三种格式可以筛选出如:12345623,987632476,987654354
tonylinzhen,是的,我现在就是用程序写生成sql代码,但是最终还是要执行生成的sql语句
haoyuzhou009,看一下这句话‘a和b都为0-9的变量,且a<>b,*代表至少一位的任意数’,请认真看完题再回答,下面那位同学也一样~
hnjdbxf,认真看完题,谢谢~
chenxfsoft,首先很感谢你的回答,但是,你的这种方法,不能是我要的结果,误差太大了。

好难。。。。。
不过我可以推荐你几个地方有助于你解决问题的:
http://www.chinaitpower.com/Dev/DataBase/MsSql/
(↑MSSQL Server - 程序开发 - 数据库开发 - 中国it动力)
http://www.sqlclub.cn/
(↑SQL学习社区)
http://forum.csdn.net/BList/MSSQL/UnClosedList
(↑MS-SQL Server 大论坛 )

以上几个地方都有比较专业的SQL方面的人才~希望能够对你有帮助哦~

写个函数吧
加点分,我给你写

写完了
CREATE FUNCTION fxabab (@n nvarchar(10))
RETURNS nvarchar(10) AS
BEGIN

declare @ab nvarchar(2),@cd nvarchar(10),@rtn nvarchar(10)

set @rtn = ''
declare @a int ,@b int
set @a=0
while @a <=9
begin
set @a=@a+1
set @b=0
while @b <=9
begin

if @a <> @b
begin