在access中,对一个表中,存在很多字段,而对于每个其类型不知道。此时:想利用SQL语句来查询指定的一行,语句如下:
select * from TableName where a=123 and b = '123'
对于此语句,若果a字段本身是数字型,b是字符型,语句是没有问题的;而如果b是数字型,语句出错。我想问下大家,有没有不用对字段类型判断,而直接用SQL语句来解决的办法?

解决方案 »

  1.   


    select * from TableName where cast(a as varchar)='123' and cast(b as varchar)= '123'
      

  2.   

    这个语句是在SQL使用的,对于access,要如何转换?
      

  3.   

    select * from TableName where a=123 and b = '123'
    对于此语句,若果a字段本身是数字型,b是字符型,语句是没有问题的;而如果b是数字型,语句出错。
    ====》
    我没看出来 对这个语句而言 b是数字类型和字符类型的差别
      

  4.   


    declare @i int
    set @i = 123if @i = '123'
    print 'a'
    else
    print 'b'/*
    a--按楼主说的,看不出来b字段到底是字符型还是数值型!