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 \'表不存在\' end 
from 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 判断列是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

mysql 用sql判断表里是不是存在某个字段,不存在加入新字段

sqlserver怎样判断查询出来的表里 某列是不是存在

SQL 插入之前怎么判断数据库已经存在

sql server的sql语句怎么判断一个字段是不是为空

sql server 判断是否存在数据库,表,列,视图

sql server 判断是否存在数据库,表,列,视图