1.备份数据库
backup database master to DISK ='d:\database.dat'
2.还原数据库
restore database master from disk=''d:\database.dat'
3.十五位身份证号转18位
-- =============================================
-- Create inline function (IF)
-- =============================================
IF EXISTS (SELECT *
FROM sysobjects
WHERE name = 'checkCardId')
DROP FUNCTION dbo.checkCardId
GO
CREATE FUNCTION dbo.checkCardId(@cardId varchar(18))
RETURNS int
AS
BEGIN
DECLARE @ret int
declare @year int
declare @month int
declare @day int
declare @date datetime
SET @ret= 1
if(len(@cardId) = 15)
begin
set @year = cast('19' + substring(@cardId,7,2) as int)
set @month = cast(substring(@cardId,9,2) as int)
set @day = cast(substring(@cardId,11,2) as int)
if(@month=0 or @month>12 or @day>31 or @day = 0) set @ret = -2
end
else if(len(@cardId) = 18)
begin
set @year = cast(substring(@cardId,7,4) as int)
set @month = cast(substring(@cardId,11,2) as int)
set @day = cast(substring(@cardId,13,2) as int)
if(@month=0 or @month>12 or @day>31 or @day = 0) set @ret = -2
else
if(substring(@cardId,18,1) <> case (substring(@cardId,1,1)*7+
substring(@cardId,2,1)*9+
substring(@cardId,3,1)*10+
substring(@cardId,4,1)*5+
substring(@cardId,5,1)*8+
substring(@cardId,6,1)*4+
substring(@cardId,7,1)*2+
substring(@cardId,8,1)*1+
substring(@cardId,9,1)*6+
substring(@cardId,10,1)*3+
substring(@cardId,11,1)*7+
substring(@cardId,12,1)*9+
substring(@cardId,13,1)*10+
substring(@cardId,14,1)*5+
substring(@cardId,15,1)*8+
substring(@cardId,16,1)*4+
substring(@cardId,17,1)*2)%11
when 0 then '1'
when 1 then '0'
when 2 then 'x'
when 3 then '9'
when 4 then '8'
when 5 then '7'
when 6 then '6'
when 7 then '5'
when 8 then '4'
when 9 then '3'
when 10 then '2' end)
set @ret = -1
end
else
set @ret = -3
RETURN(@ret)
END
GO
使用:
:
update bbjy_person
set person_cardid = dbo.getcardId(person_cardid)
where len(person_cardid)=15
4.存储过程游标用法
CREATE PROC SP_COLLECTIONMAKE
@period varchar(6)
as
declare @persId varchar(11) --个人编号
declare cur_person cursor for
select INSPERSON_PERSID
from CQCI_INSPERSON
WHERE INSPERSON_REGIS = @period
open cur_person
FETCH NEXT FROM cur_person INTO @persId
WHILE (@@FETCH_STATUS = 0)
BEGIN
select @persId
FETCH NEXT FROM cur_person INTO @persId
End
CLOSE cur_person
DEALLOCATE cur_person
5.取日期
.一个月第一天的
Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
2.本周的星期一
Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
3.一年的第一天
Select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
4.季度的第一天
Select DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
5.当天的半夜
Select DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)
6.上个月的最后一天
Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
7.去年的最后一天
Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
8.本月的最后一天
Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
9.本年的最后一天
Select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
10.本月的第一个星期一
select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0
分享到:
相关推荐
SQLSERVER基础实用必会SQL语句整理 本文档旨在整理SQLSERVER基础实用必会SQL语句,涵盖数据库的创建、备份、还原等问题的解决方法,并提供了一些有用的SQL语句命令。 一、SQLSERVER数据库的安装问题 在安装SQL...
SQLServer实用SQL语句大全 SQLServer实用SQL语句大全 一共15章,内容详尽,附有实例
涵盖所有SQL server2000的语句,应有尽有
"SQL Server 2000实用教程(第二版)习题答案" 这本书是 SQL Server 2000 实用教程(第二版)的习题答案,涵盖了数据库系统的基本概念、数据库设计、数据表和索引、数据库查询等方面的知识点。 首先,本书对数据库...
非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK
SQL SERVER 2000各种复杂查询语句的使用
sqlserver自动生成sql语句工具sqlserver转oracle
SQL Server2005基本方法和语句
用SQL语句j查SQLServer的表结构 用SQL语句j查SQLServer的表结构
SQL Server 动态 SQL 语句的用法 SQL Server 中的动态 SQL 语句是一种灵活的查询方式,它可以根据不同的情况生成不同的 SQL 语句。动态 SQL 语句可以用来实现复杂的业务逻辑,提高查询效率和灵活性。 普通 SQL ...
公司的SQL Server 没装Profiler,从网上下载的一个非常好用,支持过滤器
关于SQL Server SQL语句查询分页数据的解决方案
sql server 2000绿色版 迷你sql 2000 V1.29 *修正 +增加 -去除 ^调整 1.2.9 *修正查看我的表中编辑、删除用户视图、存储过程、... +在查看我的表中增加导出表结构、索引、视图、存储过程、用户函数为SQL语句的功能。
跨sqlserver数据查询和插入数据的实例,非常实用。
SQLserver语句使用方法,SQLserver语句详细注释,SQLserver
case语句 sql server case语句
中国各省份及城市sql server 的sql语句 中国各省份及城市sql server 的sql语句 中国各省份及城市sql server 的sql语句
死锁的诊断和定位 查询阻塞的语句 查询执行较慢的语句 查询正在执行的语句1 查询正在执行的语句2 查询所有表的主键 查询所有索引 查询表结构 ...修改SQLServer最大内存 用DAC连接到SQL Server 其它SQL DBCC
SQL Server 中存储过程比直接运行 SQL 语句慢的原因 在 SQL Server 中,存储过程比直接运行 SQL 语句慢的原因是 Parameter sniffing 问题。Parameter sniffing 是指 SQL Server 在执行存储过程时,使用参数的统计...