sql查询字段
Ⅰ sql 如何查询包含某一字段的值
这种情况需要写存储过程,进行全库搜索。代码如下:
declare@cloumnsvarchar(40)
declare@tablenamevarchar(40)
declare@strvarchar(40)
declare@countsint
declare@sqlnvarchar(2000)
declareMyCursorCursorFor
Selecta.nameasColumns,b.,sysobjectsb,systypesc
wherea.id=b.id
andb.type='U'
anda.xtype=c.xtype
andc.namelike'%varchar%'
set@str='张三'
OpenMyCursor
FetchnextFromMyCursorInto@cloumns,@tablename
While(@@Fetch_Status=0)
Begin
set@sql='select@tmp_counts=count(*)from'+@tablename+'where'+@cloumns+'='''+@str+''''
executesp_executesql@sql,N'@tmp_countsintout',@countsout
if@counts>0
begin
print'表名为:'+@tablename+',字段名为'+@cloumns
end
FetchnextFromMyCursorInto@cloumns,@tablename
End
CloseMyCursor
DeallocateMyCursor
注意:其中“张三”为要查找的字符串,可以替换成其他的,如果查询的字符串超长,需要在定义变量时适当扩大长度。
可以替换成其他的,如果查询的字符串超长,需要在定义变量时适当扩大长度。
Ⅱ 通过sql字段查类型
要从系统表中查询了。
select a.name as [column],b.name as type
from syscolumns a,systypes b
where a.id=object_id('表名') and a.xtype=b.xtype
把“表名”替换成你要查看字段类型的表名,比如你要查看sysobjects表的各字段类型那么就是
select a.name as [column],b.name as type
from syscolumns a,systypes b
where a.id=object_id('sysobjects') and a.xtype=b.xtype
另外可以通过存储过程
exec sp_help 表名
来查看表各字段的信息,其中就包括字段类型。
Ⅲ SQL字段查询
select substring(字段名,charindex('(',字段名)+1, charindex(')',字段名)-charindex('(',字段名)-1),
count(*)
from 表
group by substring(字段名,charindex('(',字段名)+1, charindex(')',字段名)-charindex('(',字段名)-1)
from 表
如内容adfa(haha)fafa,出来为haha
substring 为字符截取函数
charindex 为查找字符位置函数
都是sql servce中的,其他数据库可能不一样
思路是:
先找出字段中(和)位置,再截取中间的字符,
查询的时候根据字符分组,这样就是()中的内容,
count就是有几个不同的内容
给你个简单的子查询
select a.content,count(content) from
(
select substring(字段名,charindex('(',字段名)+1, charindex(')',字段名)-charindex('(',字段名)-1) as content
from 表
) a group by a.content
Ⅳ sql查询字段类型
楼主是什么数据库,什么版本;
MS SQL用
sysobjects/syscolumns/systypes三个连接就行了
以SQL2005也可用
select
a.Name as 表名,
b.Name as 列名,
c.Name as 类型,
b.max_length as 字节数,
b.Precision as 整数位,
b.Scale as 小数位
from Sys.tables a
inner join Sys.columns b on a.object_id=b.object_id
inner join sys.Types c on c.User_Type_ID=b.User_Type_ID
Ⅳ SQL查询一个表中的字段……
select title from class where aid='10' or aid='23'
上述语句将输出记录格式如下:
title
大众
捷达
Ⅵ sql查询表中字段
select * from --主查询
(select namea=c.name from syscolumns c,sysobjects o where o.id=c.id and o.xtype='u' and o.name='tablea') a--A表中所有字段
full join --使用全连接
(select nameb=c.name from syscolumns c,sysobjects o where o.id=c.id and o.xtype='u' and o.name='tableb') b--B表中所有字段
on namea=nameb where namea is null or nameb is null--只保留不同的字段
查询结果是,两表不同的字段列出,两表均有的字段不列:
NAMEA,NAMEB
FIELD1 NULL
FIELD2 NULL
NULL FIELD3
NULL FIELD4
Ⅶ sql查询表中某字段的字段类型
按理既然是日期型的字段,那么它的值也应该是日期型的,否则是存不进去的,既然有这样的数据,那么就建个函数吧,大概是这样的.
CREATE or replace FUNCTION ISDATE
( pdate varchar2)
RETURN varchar2 IS
v_date date;
BEGIN
v_date := to_date(pdate,'yyyy/mm/dd');
return 'true';
exception
when others then
return 'false';
END;
然后在你的语句中用就可以了
select * from table where isdate(字段) = 'false'
Ⅷ SQL查询字段名
获取数据库表的字段清单 [这里是查看 test_table 表的字段]
SELECT
a.column_id AS No,
a.name AS 列名,
isnull(g.[value],'-') AS 说明
FROM
sys.columns a left join sys.extended_properties g
on (a.object_id = g.major_id AND g.minor_id = a.column_id)
WHERE
object_id =
(SELECT object_id FROM sys.tables WHERE name = 'test_table')
No 列名 说明
1 Test_ID 主键(自增长)
2 Test_Key 种类
3 Test_Value 数值
4 Test_Type 内部类型
5 Test_BelongTo 从属关系
6 Test_Grade 等级
7 Test_Remark 备注
8 Test_Visible 是否可见
Ⅸ 怎样用SQL查询一个表的所有字段
可以用一句sql语句查询解决,如要查test表中的所有字段及类型
Selectb.nameasTableName,C.nameASTYPEfromsyscolumnsa,sysobjectsb,systypesc
wherea.id=b.id
andb.type='U'
anda.xtype=c.xtype
andb.name='TEST';
结果截图:
Ⅹ sql如何查表中字段的数据
select
*
from
表名
where
条件
(用于查找符合条件所用字段名称)
*也可用字段名称代替