1.一个月第一天的
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)
11、dateadd 加日期函数
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
当然也可以加月份 select dateadd(month,2,'2004-10-15')
12、datediff 返回两个日期之间日期
sel ......
操作步骤如下,供参考。
数据库转型工作涉及的工作事项分析:表,表数据,索引,外键约束,字段默认值。
存储过程、函数、触发器、视图等由于语法存在差异,只能自行改写处理。
(一)在MS SQL SERVER服务器端的准备工作。
1).创建关于表、视图、主键、索引、字段字典、默认值约束的对象视图。以方便下一步使用。
USE EJ_ZSZQ ---USE [数据库名]
GO
--.1不含有TEXT类型、BIGINT类型字段的表视图
CREATE VIEW V_MYTABLE AS
Select UPPER(NAME) AS NAME from sysobjects A
where xtype = 'U' AND NAME<>'dtproperties'
AND NOT EXISTS(SELECT TOP 1 B.NAME from SYSCOLUMNS B,SYSTYPES C WHERE B.XTYPE=C.XTYPE AND B.ID=A.ID
AND (C.NAME = 'text' OR C.NAME='bigint'))
GO
--2.含有TEXT类型、BIGINT类型字段的表视图
CREATE VIEW V_MYTABLE2 AS
Select UPPER(NAME) AS NAME from sysobjects A
where xtype = 'U' AND NAME<>'dtproperties'
AND EXISTS(SELECT TOP 1 B.NAME from SYSCOLUMNS B,SYSTYPES C WHERE B.XTYPE=C.XTYPE AND B.ID=A. ......
操作步骤如下,供参考。
数据库转型工作涉及的工作事项分析:表,表数据,索引,外键约束,字段默认值。
存储过程、函数、触发器、视图等由于语法存在差异,只能自行改写处理。
(一)在MS SQL SERVER服务器端的准备工作。
1).创建关于表、视图、主键、索引、字段字典、默认值约束的对象视图。以方便下一步使用。
USE EJ_ZSZQ ---USE [数据库名]
GO
--.1不含有TEXT类型、BIGINT类型字段的表视图
CREATE VIEW V_MYTABLE AS
Select UPPER(NAME) AS NAME from sysobjects A
where xtype = 'U' AND NAME<>'dtproperties'
AND NOT EXISTS(SELECT TOP 1 B.NAME from SYSCOLUMNS B,SYSTYPES C WHERE B.XTYPE=C.XTYPE AND B.ID=A.ID
AND (C.NAME = 'text' OR C.NAME='bigint'))
GO
--2.含有TEXT类型、BIGINT类型字段的表视图
CREATE VIEW V_MYTABLE2 AS
Select UPPER(NAME) AS NAME from sysobjects A
where xtype = 'U' AND NAME<>'dtproperties'
AND EXISTS(SELECT TOP 1 B.NAME from SYSCOLUMNS B,SYSTYPES C WHERE B.XTYPE=C.XTYPE AND B.ID=A. ......
1.查询出当前数据库的所有主键信息。
SELECT A.parent_obj AS TABLEID,
UPPER(E.NAME) AS TABLENAME,
UPPER(A.NAME) AS INDEXNAME,
UPPER(D.NAME) AS COLNAME,
C.KEYNO AS COLNO,
(SELECT TOP 1 KEYNO
from sysindexkeys
WHERE ID = B.ID
AND INDID = B.INDID
ORDER BY KEYNO DESC) AS KEYCNT
from sysobjects A,
sysindexes B,
sysindexkeys C,
syscolumns D,
sysobjects E
WHERE (A.xtype = 'PK')
&nbs ......
sql server 还原一个数据到具体的时间
数据库的附加:
sp_attach_db mark ,'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\mark.mdf'
数据库的分离:
sp_deattach_db mark ,'C:\Program Files\Microsoft SQL
Server\MSSQL.1\MSSQL\Data\mark.mdf'
数据库的完全备份:
backup database mark to disk='D:\Database\mark.bat'
数据库的加密备份:
backup database mark to disk='D:\Database\mark.bat' with password 'password'
数据库的差异备份:
backup database mark to disk='D:\Database\mark.bat' with Diffreential
数据库文件备份:
backup database mark file='Filepath' to 'backupfile path'
数据库文件组备份
backup database mark filegroup='filegroup path' to 'back filegroup path '
数据库日志备份:
数据库的还原:
数据库的完全还原:
restore database mark from disk='Database\mark.bat'
数据库的差异备份
alter database mark set recovery full
go
backup database mark to disk ='D:\Database\mark.bat'
go
restore database mark from disk='D:\Database\mark.bat' with recovery,replace,STOPAT='2010- ......
1.登陆系统用户
sqlplus 然后输入系统用户名和密码
登陆别的用户
conn 用户名/密码;
2.创建表空间
create tablespace 空间名
datafile 'c:"空间名' size 15M --表空间的存放路径,初始值为15M
autoExtend on next 10M --空间的自动增长的值是10M
permanent online; --永久使用
3.创建用户
create user shi --创建用户名为shi
identified by scj --创建密码为scj
default tablespace 表空间名 --默认表空间名
temporary tablespace temp --临时表空间为temp
profile default --受profile文件的限制
quota unlimited on 表空间名; --在表空间下面建表不受限制
4.创建角色
create role 角色名 identified by 密码;
5.给角色授权
grant create session to 角色名;--给角色授予创建会话的权限
grant 角色名 to 用户名; --把角色授予用户
6.给用户授予权限
grant create session,resource to shi;--给shi用户授予所有权限
grant create table to shi; --给shi用户授予创建表的权限
7.select table_name from user_tables; 察看当前用户下的所有表
8.select tablespace_name from user_tablespaces; 察看当前用户下的 表空间
9 ......
SQL Server中几种分页的sql语句
方法1:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 *
from table1
WHERE id NOT IN
(
SELECT TOP 页大小*(页数-1) id from table1 ORDER BY id
)
ORDER BY id
方法2:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 *
from table1
WHERE id >
(
SELECT ISNULL(MAX(id),0)
from
(
SELECT TOP&n ......