求一SQL语句

zjh527 2006-06-15 04:13:13
表table1的字段A有如下数据:
A
01
0102
010201 *
0103
010301
01030102 *
010302 *
0104 *
这些数据里对我有用的只有后面带*号的,该怎么取?希望大家给提供各方法。
...全文
119 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjh527 2006-06-15
  • 打赏
  • 举报
回复
问题已解决,来者都有分
wfliu 2006-06-15
  • 打赏
  • 举报
回复
好厉害的鱼
paoluo 2006-06-15
  • 打赏
  • 举报
回复
Create Table table1
(A Varchar(20))
Insert table1 Select '01'
Union All Select '0102'
Union All Select '010201'
Union All Select '0103'
Union All Select '010301'
Union All Select '01030102'
Union All Select '010302'
Union All Select '0104'
Union All Select '02'
Union All Select '0201'
GO
--得到最底層的節點
Select * From table1 A Where Not Exists(Select 1 From table1 Where A Like A.A+'%' And A<>A.A)
--得到最上層的節點
Select * From table1 A Where Not Exists(Select 1 From table1 Where A.A Like A+'%' And A<>A.A)
GO
Drop Table table1
GO
--Result
/*
A
010201
01030102
010302
0104
0201

A
01
02
*/
paoluo 2006-06-15
  • 打赏
  • 举报
回复
Create Table table1
(A Varchar(20))
Insert table1 Select '01'
Union All Select '0102'
Union All Select '010201'
Union All Select '0103'
Union All Select '010301'
Union All Select '01030102'
Union All Select '010302'
Union All Select '0104'
GO
Select * From table1 A Where Not Exists(Select 1 From table1 Where A Like A.A+'%' And A<>A.A)
GO
Drop Table table1
GO
--Result
/*
A
010201
01030102
010302
0104
*/
zjh527 2006-06-15
  • 打赏
  • 举报
回复
谢谢各位,可能是我没有表达清楚,数据本身后面没有* 。请看仔细取得数据是有规律的比如说01、0102、010201这3个数 因为有010201,所以我不取01和0102。后面的其他数据同理
zjh527 2006-06-15
  • 打赏
  • 举报
回复
谢谢,各位可能是我没有表达清楚,数据本身后面没有* 。请看仔细取得数据是有规律的比如说01、0102、010201这3个数 因为有010201,所以我不取01和0102。后面的其他数据同理
gjz_1209 2006-06-15
  • 打赏
  • 举报
回复
Select * From table1 Where Right(A,1) = '*'
select * from table1 where A like '%*'
playwarcraft 2006-06-15
  • 打赏
  • 举报
回复
select * from table1 where A like '%*'
fcuandy 2006-06-15
  • 打赏
  • 举报
回复
DECLARE @tb TABLE(A CHAR(20))
INSERT @tb
SELECT
'01'
UNION SELECT
'0102'
UNION SELECT
'010201 *'

SELECT * FROM @tb WHERE A LIKE '%*%'
SELECT * FROM @tb WHERE CHARINDEX('*',A)>0
SELECT * FROM @tb WHERE A LIKE '%[0-9]
  • %'
paoluo 2006-06-15
  • 打赏
  • 举报
回复
Select *From table1 Where Right(A,1)='*'
xq02 2006-06-15
  • 打赏
  • 举报
回复
select * from table1 where charindex('*',A)>0
cosio 2006-06-15
  • 打赏
  • 举报
回复
select * from table1 where a in('010201 ','01030102 ','010302 ','0104 ')

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧