sql 判断列是不是存在
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 判断列是不是存在相关的知识,希望对你有一定的参考价值。
数据库中A表可能会有多列,预先知道列的名字,如c1,c2,c3,c4,c5,但是事先不知道这些列是否存在,如果存在就把这些存在的列取回来,如果不存在就不取,请问这样的功能用sql语句怎么事先,谢谢
2种办法:1. 根据系统表判断列是否存在,比如Oracle的user_tab_columns,sqlserver的dbo.syscolumns;
然后拼sql
2. 直接select *: select * from A
然后,判断 结果集 中是否 月各列,分别获取值。追问
能说具体点吗,最好能帮忙把代码写出来 谢谢
参考技术A 动态拼sql吧 参考技术B select * from 表名;sql判断临时表是不是存在
使用tempdb中的表sysobjects 来查询,判断。
1、新建临时表#test
CREATE TABLE #test(id char(10) NOT NULL,
a int NOT NULL,
b datetime NOT NULL,
c char(10) NULL)
2、判断语句如下
select case when count(*) = 1 then \'表存在\' else \'表不存在\' endfrom tempdb..sysobjects
where id=object_id(\'tempdb..#test\')
参考技术A --下面以临时表#temp为例,判断它是否存在,存在就删除它
IF OBJECT_ID('tempdb..#temp') is not null
drop table #temp 参考技术B 。。。。临时表以#开始 create table #a(ID int,Name varchar(50))
临时表是放在临时数据库的 当sqlserver断开连接后 将自动删除临时表 此时你是找不到的
以上是关于sql 判断列是不是存在的主要内容,如果未能解决你的问题,请参考以下文章