请教一个like语句的写法?(40分)

请教如何用一个like语句从数据库中选择包含数字的记录,例如:"中山路301号"或"北京东路1988弄",此外,sql server类似语句的写法与oracle有什么不同?
[86 byte] By [knifefly-飞刀] at [2007-12-14]
# 1
这样
select * from xxx where translate(a,'1234567890','') <> a;
biti_rainy-biti_rainy at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 2
更复杂的like语句如何来写,例如:选择类似"#号楼#单元#室"模式的记录,其中"#"表示一位或多位数字,请赐教?
knifefly-飞刀 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 3
干吗要用like
我只关心你到底要实现什么

如果你只关心字段里面是不是有数字而不管位置,不管哪些数字
我说的就够了

如果有其他要求
请详细描述
biti_rainy-biti_rainy at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 4
like '%号楼%单元%室%'

不过用like效率很低
KingSunSha-弱水三千 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 5
to:biti_rainy(biti_rainy)
translate(a,'1234567890','')好像不论a是什么值(全部是数字、全部是字母、有数字字母)都返回空值。我的环境是8.1.6&8.1.7。
bobfang-匆匆过客 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 6
该函数应该是把a中的所有数字替换成空
biti_rainy-biti_rainy at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 7
biti_rainy(biti_rainy) 说得没错

xinpingf-白开心 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 8
select * from xxx where translate(a,'1234567890',' ') <> a;
‘’--此处应有数据,空格也好,其他不同的字符也可以,但是不能不写东西,否则差不出数据
tameless-sunny at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 9
楼上的,如果那里有一个空格,则把1翻译为空格,如果有两个,则把1和2翻译为空格……

xinpingf-白开心 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 10
应该是translate(a,' 1234567890',' ')
bobfang-匆匆过客 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...
# 11
biti_rainy(biti_rainy)是对的,他这样写是为了将所有的数字都去掉,如果一个字符串中包含数字,转换之后得到的字符串肯定不等于转换之前的字符串。这样就可以判断一个字符串中是否含有数字了!方法很聪明!
zergwang-神游 at 2007-10-22 > top of Msdn China Tech,其他数据库开发,SQL Anywhere Studio...