SQL判断字段类型
-->Title:Generating test data
-->Author:wufeng4552
-->Date :2009-09-25 09:56:07
if object_id('tb')is not null drop table tb
go
create table tb(ID int,name text)
insert tb select 1,'test'
go
--方法1
select sql_variant_property(ID,'BaseType') from tb
--方法2
select object_name(ID)表名,
c.name 字段名,
t.name 数据类型,
c.prec 长度
from syscolumns c
inner join systypes t
on c.xusertype=t.xusertype
where objectproperty(id,'IsUserTable')=1 and id=object_id('tb')
相关文档:
在分组排序过程中需要新建排序列,按条件:(物料分类+客户名称) 进行分组汇总 然后就根据该条件进行排序
1.需要拼凑两列 作为排序列,如需加入特殊字符.就会报错.
因为本身改字段就是varchar类型 需要将char类型'_' 转换成varchar
2.拼凑过程中有空格需要去空格
e.g:select (trim(物料分类)+to_char( ......
if exists(select 1 from sysobjects where name='char_index')
drop function char_index
create function char_index(@string varchar(8000),@char varchar(10),@index smallint)
--@string:待查找字符串,@index:查找位置
returns smallint
as
begin
declare
@i tinyint,--当前找到第@i个
  ......
CREATE Table <表名>
([<列名1>] 类型 (长度) [缺省值][列级约束]
[,<列名2> 数据类型[缺省值][列级约束]]….
[,UNIQUE(列名[,列名]….)]
[,PRIMARY KEY(列名[,列名]…)]
&n ......
SQL Server数据库查询速度慢的原因有很多,常见的有以下几种:
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者 ......
在T-sql的写法上有很大的讲究,下面列出常见的要点:首先,DBMS处理查询计划的过程是这样的:
1、查询语句的词法、语法检查
2、将语句提交给DBMS的查询优化器
3、优化器做代数优化和存取路径的优化
4、由预编译模块生成查询规划
5、然后在合适的时间提交给系统处理执行
6、最后将执行结果返回给用户。
其次,看一下S ......