急求一条SQL语句 like条件问题,急 ~~各位大哥帮帮忙

cj5898 2008-04-01 02:40:47
小弟菜鸟,急求一条SQL语句 like条件问题,急

like A + 数字 ,该怎么写
数字位数不固定,可能是‘A0’ ,可能是‘A99999999999’,
各位大哥帮帮忙
...全文
137 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
conan304 2008-04-01
  • 打赏
  • 举报
回复
再多嘴几句:
ISNUMERIC
确定表达式是否为一个有效的数字类型。

语法
ISNUMERIC ( expression )

参数
expression

要计算的表达式。

返回类型
int

注释
当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。

select *  
from tbname
where len(字段)>1
and isnumeric(right(字段,len(字段)-1)) = 1
and 字段 like 'A%'

其实可以不用len(字段)>1的.
test:
select isnumeric(null),isnumeric('') --0,0


select * from tbname where cou like '%A[0-9]%'

比如A9SD,这种就不符合楼主的意思.
wangxuelid 2008-04-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 conan304 的回复:]
是不是这个意思??


SQL codedeclare @t table(col varchar(50))
insert @t select 'A34334'
union all select '33434'
union all select 'A0'
union all select 'BXVXV'
union all select 'AXX'

select *
from @t
where col like 'A%' and isnumeric(right(col,len(col)-1))=1

/*

(所影响的行数为 5 行)
xue xi

col
-------------------------------------…
[/Quote]
huangjh_love 2008-04-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dawugui 的回复:]
引用楼主 cj5898 的帖子:
小弟菜鸟,急求一条SQL语句 like条件问题,急

like A + 数字 ,该怎么写
数字位数不固定,可能是‘A0’ ,可能是‘A99999999999’,
各位大哥帮帮忙

貌似没看懂.
[/Quote]
flyidealism 2008-04-01
  • 打赏
  • 举报
回复
select * from tbname where cou like '%A[0-9]%'
也可以试一下
cj5898 2008-04-01
  • 打赏
  • 举报
回复
谢谢各位,问题已搞定!
-狙击手- 2008-04-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 huangfeng16 的回复:]
select *
from tbname
where len(字段)>1
and isnumeric(right(字段,len(字段)-1)) = 1
and 字段 like 'A%'
[/Quote]
zanyzyg 2008-04-01
  • 打赏
  • 举报
回复

俺错了,好像可以啊

学习一下这个isnumeric

不好意思
huangfeng16 2008-04-01
  • 打赏
  • 举报
回复
select *
from tbname
where len(字段)>1
and isnumeric(right(字段,len(字段)-1)) = 1
and 字段 like 'A%'
zanyzyg 2008-04-01
  • 打赏
  • 举报
回复


长度不固定啊,如果A后面有200个2呢,怎么办?

zanyzyg 2008-04-01
  • 打赏
  • 举报
回复

还能用like吗?通配符不适合了吧?

需要自己判断那个字段了吧?

一个一个字符判断吧,呵呵
conan304 2008-04-01
  • 打赏
  • 举报
回复
是不是这个意思??

declare @t table(col varchar(50))
insert @t select 'A34334'
union all select '33434'
union all select 'A0'
union all select 'BXVXV'
union all select 'AXX'

select *
from @t
where col like 'A%' and isnumeric(right(col,len(col)-1))=1

/*

(所影响的行数为 5 行)

col
--------------------------------------------------
A34334
A0

(所影响的行数为 2 行)
*/
dawugui 2008-04-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 cj5898 的帖子:]
小弟菜鸟,急求一条SQL语句 like条件问题,急

like A + 数字 ,该怎么写
数字位数不固定,可能是‘A0’ ,可能是‘A99999999999’,
各位大哥帮帮忙
[/Quote]
貌似没看懂.
wzy_love_sly 2008-04-01
  • 打赏
  • 举报
回复
函数转换
wzy_love_sly 2008-04-01
  • 打赏
  • 举报
回复
select * from tbname where 字段 like '%A'+ltrim(数字)+'%'

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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