在access中,对一个表中,存在很多字段,而对于每个其类型不知道。此时:想利用SQL语句来查询指定的一行,语句如下:
select * from TableName where a=123 and b = '123'
对于此语句,若果a字段本身是数字型,b是字符型,语句是没有问题的;而如果b是数字型,语句出错。我想问下大家,有没有不用对字段类型判断,而直接用SQL语句来解决的办法?
select * from TableName where a=123 and b = '123'
对于此语句,若果a字段本身是数字型,b是字符型,语句是没有问题的;而如果b是数字型,语句出错。我想问下大家,有没有不用对字段类型判断,而直接用SQL语句来解决的办法?
解决方案 »
- |zyciis| 急求:用UNION连接两个表的时候提示:不能为DISTINCT 方式选择 text ntext 或 image 数据类型
- sql2005如何使用Microsoft Visual SourceSafe
- SQL中计算指定日期加上指定工作日的问题
- 查询内容转化,急,恳求各位大侠帮助。
- 解释一下数据库设计中的符号
- 怎样用SELECT查询离2003-10-1日最近的数据?谢谢!
- 怎么查询1分钟前插入的东西
- sql统计数据问题50分
- 请高手指教:sqlserver2000中关于一个存储过程的函数编写问题.
- 关于机器名与Sql server的关系问题
- SQLSERVER 2005 与 2000 用select 语句累加字符串并排序所产的问题...
- sql server2005 不能新建数据库·在线等
select * from TableName where cast(a as varchar)='123' and cast(b as varchar)= '123'
对于此语句,若果a字段本身是数字型,b是字符型,语句是没有问题的;而如果b是数字型,语句出错。
====》
我没看出来 对这个语句而言 b是数字类型和字符类型的差别
declare @i int
set @i = 123if @i = '123'
print 'a'
else
print 'b'/*
a--按楼主说的,看不出来b字段到底是字符型还是数值型!