请问,在ACCESS中,如何判断某一个字段的值的某位是数字而不是字符?

时间:2022-04-02 14:40:46
例如,假如一个字段是CardID
其值是:
IC001234567
IC001234568
IC001234569
IC0O12345DT
IC00123457N
IC001234590
....
我想把IC0去掉后,带有字母的都选出来,如上,我要选出IC0012345DT,IC00123457N

6 个解决方案

#1


dim s as string
dim i as integer
s=right(...)
for i=1 to len(s)
    if mid(s,i,1)>"A" and mid(s,i,1)<"Z" then
        ...
     endif
next

#2


select cartid 
from table
where mid(cardid,4,1)>'9' 
  and mid(cardid,5,1)>'9'
  and mid(cardid,6,1)>'9'
  ...

#3


刚才错了
select cartid 
from table
where mid(cardid,4,1)>'9' 
   or mid(cardid,5,1)>'9'
   or mid(cardid,6,1)>'9'
   ...

#4


if isnumeric(mid$(cardid,x,1)) then
    ...
end if
===============================================
IsNumeric 函数
    返回 Boolean 值,指出表达式的运算结果是否为数。

语法
    IsNumeric(expression)

必要的 expression 参数是一个 Variant,包含数值表达式或字符串表达式。

说明
    如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True;否则返回 False。

如果 expression 是日期表达式,则 IsNumeric 返回 False。

#5


对就是用它

用IsNumeric(expression)
你在程序用一个if语句判断IsNumeric(expression)的返回值行了

#6


如果字符只出现在末尾,用RIGHT()函数取出最后一个字符判断就行了

#1


dim s as string
dim i as integer
s=right(...)
for i=1 to len(s)
    if mid(s,i,1)>"A" and mid(s,i,1)<"Z" then
        ...
     endif
next

#2


select cartid 
from table
where mid(cardid,4,1)>'9' 
  and mid(cardid,5,1)>'9'
  and mid(cardid,6,1)>'9'
  ...

#3


刚才错了
select cartid 
from table
where mid(cardid,4,1)>'9' 
   or mid(cardid,5,1)>'9'
   or mid(cardid,6,1)>'9'
   ...

#4


if isnumeric(mid$(cardid,x,1)) then
    ...
end if
===============================================
IsNumeric 函数
    返回 Boolean 值,指出表达式的运算结果是否为数。

语法
    IsNumeric(expression)

必要的 expression 参数是一个 Variant,包含数值表达式或字符串表达式。

说明
    如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True;否则返回 False。

如果 expression 是日期表达式,则 IsNumeric 返回 False。

#5


对就是用它

用IsNumeric(expression)
你在程序用一个if语句判断IsNumeric(expression)的返回值行了

#6


如果字符只出现在末尾,用RIGHT()函数取出最后一个字符判断就行了