随笔分类 - MSSQL
摘要:USE [coaleduexamdata]GO/****** Object: StoredProcedure [dbo].[pro_PageCanOrder_2] Script Date: 12/11/2012 16:43:58 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[pro_PageCanOrder_2]@tblName nvarchar(255), -- 表名 @strGetFields nvarchar(1000), -- 需要返回的列 @fldName nvarchar...
阅读全文
摘要:这里的vs2008+SQL Server调试是基于本地数据库的。 当然,无论是本地数据库还是远程数据库都是可以调试的。不过远程数据库调试有些麻烦,要求服务器和所用的机器账户密码一致。所以我把数据库部署到本地了。1. vs中服务器资源管理器中 添加连接所要调试的数据库。2、 选择存储过程,点击单步调试3、填入参数值4、 单步执行
阅读全文
摘要:存储过程之处理多笔拼接字符串CREATE proc [dbo].[pro_Update]@Models nvarchar(4000)as declare @id varchar(500),@m int,@n int,@mm int,@nn int,@jobId nvarchar(10),@true nvarchar(10)declare @classId varchar(50),@jobName varchar(100),@shenfen varchar(100) set @m=CHARINDEX('-',@Models) set @n=1 WHILE @m>...
阅读全文
摘要:CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX ( expression1 , expression2 [ , start_location ] )expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。(起始值从1开始)假如CHARINDEX没有找到要找的字符串,返回整数“0”。CHARINDEX('SQL', 'Micro
阅读全文
摘要:---触发器练习--在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序 CREATE TABLE Student ( SID INT PRIMARY KEY --学号 ) CREATE TABLE BorrowRecord ( --学生借书记录表 BorrowRecord INT IDENTITY(1, 1) , --流水号 StudentID INT , --学号 BorrowDate DATETIME , ...
阅读全文
摘要:通配符 描述% 包含零个或更多字符的任意字符串。 WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。 _(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。 [ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE '[C-P]arsen' 将查找以arsen 结尾且以介于 C 与 P 之间的任何单个字符开
阅读全文
摘要:--1、根据日期计算年龄SELECT DATEDIFF(yyyy,'1989-05-26',GETDATE())--2 DENSE_RANK ROW_NUMBER和 RANK 区别DENSE_RANK ROW_NUMBER rank1 1 12 2 22 3 ...
阅读全文
摘要:create FUNCTION getday( --声明要传入的参数 @time DATETIME)RETURNS DATETIME ASBEGIN DECLARE @inday INT DECLARE @dtmDateNew DATETIME --取输入日期所在月份的第几天 SET @inday=DAY(@time) --获得这个月的第一天 SET @dtmDateNew=DATEADD(DAY,-@inday+1,@time) --获得这个月的最后一天 --SET @dtmDateNew=DATEADD(Day,-1,CON...
阅读全文
摘要:--查询所有数据库USE mastergoselect [name] from [sysdatabases] order by [name]--查询其中一个数据库test,就可以得到这个数据库中的所有的表名了,语句如下:USE testgoselect [id], [name] from [sysobjects] where [type] = 'u' order by [name]--查出v_lyb这个表中所有的字段select [name] from [syscolumns] where [id] = 21575115 order by [colid]--得到该表中的记录条数
阅读全文
摘要:select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了。 left()是sql函数。 select 字段1 from 表1 where charindex('云',字段1)=1;字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHA
阅读全文
摘要:Select CONVERT(varchar(100), GETDATE(), 8):14:53:14Select CONVERT(varchar(100), GETDATE(), 9): 06 6 2012 2:53:27:953PMSelect CONVERT(varchar(100), GETDATE(), 10): 06-06-12 Select CONVERT(varchar(100), GETDATE(), 11): 12/06/06 Select CONVERT(varchar(100), GETDATE(), 12): 120606Select CONVERT(varch...
阅读全文
摘要:以前没有注意两者的区别,看博客园的文章,还真引起了我的注意。数据测试:见图sql 语句见分晓:SELECT COUNT(*) c1 ,COUNT(ADDRESS) c2 FROM test显而易见,count(*)统计的是结果集的总条数,count(字段名)统计的是该字段值不为null的总条数
阅读全文
摘要:前几天需要把公司远程桌面上的一个数据库还原到本地。服务器上的是mssql 2000,手动还原到本地sql2008 出错。于是搜索并解决了以下问题。在sql server 2005 /2008中直接右击数据库选还原数据库。详细错误信息附图如下:1、删除上述操作中新建的数据库或还原时要起的数据库名称相同的数据库名称,结合上图如删除已存在的'test'数据库;2、右击“数据库”选择“还原数据库”;3、在出现的窗口中输入目标数据库,如输入db_test,并选择“源设备”,点击浏览按钮;4、单击“添加”按钮,选择Sql Server 2000的备份文件,点击“确定”按钮到初始窗口,勾选文
阅读全文