随笔分类 - 数据库
所有与数据有关的资料知识,目前我只接触sql 2000
    
摘要:今天将Excel中的数据导入到数据库表A后,某一列被自动定义成了Float数据类型,然而,我们的正式库中的表B的相对应的列是Varchar类型的,所以,就出现了表B中所对应的列数据变成了科学计数法的形式。 原文地址:http://www.cnblogs.com/studyzy/archive/2009/08/27/1555356.html 今天在把一些数据导入到SQL Server的时候遇到有个列被导入成float类型,而我实际需要的是varchar类型,所以要进行类型转换,转换时遇到了一点问题,所以写这篇博客记录一下。SQL Server中的数值类型分为两种,一种是精确的数值类型,具...
        阅读全文
                
摘要:概念:CTE:Common Table Expression,简称CTE,中文可以叫做,通(公)用表表达式.用处:处理以前版本中SQL不好现实,不好理解,复杂的查询问题.比如:分页,递归查询...基本语法:WITH <name of your CTE>(<column names>)AS(<actual query>)SELECT * FROM <name of your CTE>示例一(基本用法):WITH MyCTE(ID, NAME)AS( SELECT EmployeeID AS ID, FirstName + ' ' +
        阅读全文
                
摘要:1、Char(n) Char(n)是长度为n个字节的固定长度且非 Unicode 的字符数据,n必须是一个介于1--8000之间的数值,存储大小为n个字节。 所谓固定长度就是当你输入的字符小于你指定的数目时,它后面会以空值来补充。如:Char(10),当你输入的字符为8个时,它后面会自动补两个空值。 但当你输入的字符数目大于指定的值时,它会截取超出的字符。 CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。 NChar(n) NChar(n)是包含n个字符的固定长度的 Unicode 字符数据。n必须是一个介...
        阅读全文
                
摘要:本文介绍如何识别当前的 Microsoft SQL Server 版本号和相应的产品或 Service Pack 级别。同时介绍如何识别正在使用的 SQL Server 具体版本。如何确定正在运行的 SQL Server 2008 为哪个版本若要确定正在运行的 SQL Server 2008 为哪个版本,请使用 SQL Server Management Studio 连接到 SQL Server 2008,然后运行下列 Transact-SQL 语句。SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('p
        阅读全文
                
摘要:通过设置STATISTICS我们可以查看执行SQL时的系统情况。选项有PROFILE,IO ,TIME。SET STATISTICS PROFILE ON:显示分析、编译和执行查询所需的时间(以毫秒为单位)。SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数、逻辑读取数(在高速缓存中访问的页数)和物理读取数(访问磁盘的次数)有关的信息。SET STATISTICS TIME ON:显示每个查询执行后的结果集,代表查询执行的配置文件。使用方法:打开SQL SERVER 查询分析器,输入以下语句:SET STATISTICS PROFILE ON SET STATISTIC
        阅读全文
                
摘要:新建数据表以后,若再对该表进行更改,则会出现如下图所示的警告信息:不允许保存更改 阻止保存要求重新创建表的更改通过搜索找到解决方法:工具--->选项--->Designers--->表设计器和数据库设计器--->组织保存要求重新创建表的更改,去掉复选框。
        阅读全文
                
摘要:-- 定义你想要检验的SQL语句DECLARE @sql NVARCHAR(MAX)--'正确的语句'SET @sql = 'select * from Report_Test1'--'错误的语句'--SET @sql = 'select 1 from'DECLARE @testsql NVARCHAR(MAX), @result INT SET @testsql = N'set parseonly on; ' + @sqlEXEC @result = sp_executesql @testsql-- 如果SQL语
        阅读全文
                
摘要:PIVOT的中文意思是“在枢轴上转动”,比如对于一个2维坐标,将横坐标变成纵坐标,将纵坐标变成横坐标。反映在一个Relational Table上的意思就是:变行为列,变列为行。表一:表二:将表一转换成表二:SELECT * FROM StudentScorePIVOT ( SUM(Score) FOR Subject IN ([语文],[数学],[化学],[物理]))AS BSUM(Score) 是我们需要统计的数据,FOR Subject IN ([语文],[数学],[化学],[物理]是统计的范围)就成了我们最终输出的结构了。以上部分转自:http://blog.vsharing.com/
        阅读全文
                
摘要:解释:删除指定长度的字符,并在指定的起点处插入另一组字符。语法:STUFF ( character_expression1 , start , length [,character_expression2])参数:character_expression1:一个字符数据表达式。character_expression可以是常量、变量,可以是字符列或者是二进制数据列。start:一个整数值,指定删除和插入的开始位置。如果start和 length为负,则返回空字符串。如果start比第一个character_expression 长,则返回空字符串。start可以是bigint类型。length
        阅读全文
                
摘要:SQL Server2005新增crossapply 和outerapply 联接语句,增加这两个东东有啥作用呢?我们知道有个 SQL Server2000中有个crossjoin是用于交叉联接的。实际上增加crossapply 和outerapply 是用于交叉联接表值函数(返回表结果集的函数)的, 更重要的是这个函数的参数是另一个表中的字段。这个解释可能有些含混不请,请看下面的例子:--1. cross join 联接两个表select * from TABLE_1 as T1cross join TABLE_2 as T2【此句实际上是求笛卡尔积】--2. cross join 联接表和
        阅读全文
                
摘要:CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下:CHARINDEX ( expression1 , expression2 [ , start_location ] )Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如CHARINDEX没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果:CHARIN
        阅读全文
                
摘要:ISNULL使用指定的替换值替换 NULL。语法ISNULL ( check_expression , replacement_value ) 参数check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_valu...
        阅读全文
                
摘要:--行列互转 /****************************************************************************************************************************************************** 以学生成绩为例子,比较形象易懂 整理人:中国风(Roy) 日期:2008.06...
        阅读全文
                
摘要:一、 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 SELECT nickname,email FROM testtable WHERE name='张三' (一) 选择列表 选择列表(select_...
        阅读全文
                
摘要:Sql Server 中一个非常强大的日期格式化函数 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Sele...
        阅读全文
                
摘要:**复制表结构**select * into b from product where 11**拷贝表**select * into c from product**两张关联表,删除主表中已经在副表中没有的信息**delete from product where not exists (select * from userbase where product.uid=userbase.uid)...
        阅读全文
                
摘要:1,只是插入简单的有限行数据时用: insert 要插入的表名(列名1,列名2,....) select '列名1需要的数据','列名2需要的数据',... union select '列名1需要的数据','列名2需要的数据',... union select '列名1需要的数据','列名2需要的数据',... ... ... 2,当要...
        阅读全文
                
摘要:问: 请教一个SQL 2000 SEVER问题: select * from itemcode where code like '40%' 如何让code=40101001 变成code=401-01-001 目前有666个CODE是类似40101001 用什么语句能把它变成401-01-001 答: update itemcode set code=replace(code,left(c...
        阅读全文
                
摘要:把表B中的字段,插入到表A中; INSERT INTO 表A(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 表B; 把表table_b 复制一份为table_a SELECT * INTO ...
        阅读全文
                
摘要:一、搜索通配符字符的说明 可以搜索通配符字符。有两种方法可指定平常用作通配符的字符: * 使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用: WHERE ColumnA LIKE '%5/%%' ESCAPE '/' 在上述 LIKE 子句中,前导和结...
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号