sqlsever 函数

news/2024/5/18 15:47:43 标签: null, sqlserver, table, object, bbs, hibernate

 《sqlserver应用开发》
1。返回限制行
select top 5 name...
2.列名 is null
使用表达式,函数,
3.在查询中使用函数;
  1。字符串函数
部分常用的字符串函数

函数名           描述
charindex       用来寻找一个指定的字符串在另一个字符串中的起始位置
                select charindex('ACCP','My   Accp course',1);   返回4
len              长度  Lower 小写  upper 大写
ltrim 清除字符左边空格
Rtrim 清除字符右边空格
right 从字符串左边返回指定数目的字符 
       select right('买卖顺要和',3);   返回:顺要和
replace 替换一个字符串的字符  select replace('莫乐可切.杨可','可','兰'); 返回:莫乐兰切.杨兰


  2.日期函数
 getdate 取今天的日期  select getdate();
 dateadd    select dateadd(mm,4,'01/01/99')
  datename 日期中指定日期部分的字符串形式  selectdatename(dw,'01/01/2000');返回:Saturday
  datepart 日期中指定日期部分的整数形式  select datepart(day,'01/15/2000');返回: 15

3。数学函数
ABC绝对值
ceiling >=最小整数
floor   <=最大整数
power 幂
  power(5,2)  返回:25
Round 四舍五入为指定精度 Round(43.5645,1);  返回:43.5
sign  正数返回+1,负数返回-1,0返回0;  sign(-43)返回:-1

sort(9)  平方根
返回:3

 4。系统函数
convert(varchar(5),12345)转变数据类型 返回:字符串12345

current_user 返回当前用户的名字
datalength 返回指定表达式的字节数
host_name  返回当前用户登录的计算机名字
system_user 返回当前用户登录的用户名称
user_name 从给定用户ID返回用户名

 


4练习
  1。把密码中的o变0,i变成1(好区别,使用函数replace)
   2.编号为B01计算机坏了,请通过查询得到这台机器最近一次上机的卡号:?
   3。查询24小时之内上机的人员姓名
    4。查卡号第三位和第七位是‘AB’的人员(like '00[0-9][0-9]AB%')
 check约束(属性中设置)
5.如何得到上一次插入的identity值(即ID自增长,不知道插入的是什么值)
sqlserver联机从书(标识值:上一次插入的)
6.分析一个BBS系统(重要。书,117~131)
 1。本月灌水的人
  注册时间少于一个月,发贴量大于1500的用户
  select id,count(*) from topic where DataAdd(Month,1,TTime)>GetDate() Group
by id having count(*)>1500
 2.本日,本周用户发贴数排名;本日,本周版块发贴榜
本日 getDate() between(ttime+'0:0:0') and (ttime+'23:59:59')
本周  datepart(week,getDate())=datepart(week,ttime)
       当天在本年第几周           日期在本年第几周  P128待续。。。。。。

 

 

sqlserver应用开发》
1.sqlserver配置属性(对某一数据库右击)
处理器选项卡  来配置sqlserver的优先级,  ^ 在windows上提升sqlserver的优先级
连接 选项卡, 来配置连接特性。             * 允许其它sqlserver...连接。。
2BBs四个表(在csdn空间3/bbs表/BBS表1,表2,表3)
   建表要注意:除了字段名称,类型,主键,默认值,非空约束,还要有检查约束(设计视图中右击,check约束/新建)eg.UEMail like '%@%'  len(UPassword)>=6
 和字段的描述信息。
 ?数据类型为'Bit'的Usex,1 ,性别,如何添加数据。。。
 ?数据类型 nText  16 位;varchar 255 是长度,和位数不一样。

3.建立表之间的关联关系。 谁指向谁的哪一个字段。  这个建立后,使用hibernate可直接生成1对1,1对多,多对多等关联关系。

4。发贴排名(本日,本周,各版块本日,各版块本周)
   本日的日期比较使用:
  GetDate() Between (TTime+'0:0:0') and (TTime='23:59:59')
  判断日期是否在本周,需要使用datepart 函数返回当天是“本年的第几周”,然后再看看数据库中的
   日期是“本年的第几周”。如果这两个周次相等,表明数据库中的日期在本周。
  DatePart(week,GetDate())=DatePart(week,TTime);

BBS用户发帖日排名
select top 10 TUID as 用户ID,count(*) as 发帖数
from BBSTopic
where Getdate() Between (TTime+'0:0:0') and (TTime='23:59:59')
group by tuid
order by count(*) desc
BBS用户发帖周排名
select top 10 TUID as 用户ID,count(*) as 发帖数
from BBSTopic
where DatePart(week,GetDate())=DatePart(week,TTime)
group by TUid
order by Count(*) desc

各版块用户发帖日排名
select top 10 TUID as 用户ID,TSID as 版块,count(*) as 发帖数
from BBSTopic
where GetDate() Between (TTime+'0:0:0') and (TTime='23:59:59')
group by TUid,TSID
order by  TSID,count(*) desc
各版块用户发帖周排名
select top 10 TUID as 用户ID,TSID as 版块,count(*) as 发帖数
from BBSTopic
where DatePart(week,GetDate())=DatePart(week,TTime)
group by TUid,TSID
order by TSID,count(*) desc

 

 

 

 

附:
bbs.sql
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_BBSpely_BBSSection]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[BBSReply] DROP CONSTRAINT FK_BBSpely_BBSSection
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_BBSTopic_BBSSection]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[BBSTopic] DROP CONSTRAINT FK_BBSTopic_BBSSection
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_BBSpely_BBSTopic]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[BBSReply] DROP CONSTRAINT FK_BBSpely_BBSTopic
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_BBSpely_BBSUsers]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[BBSReply] DROP CONSTRAINT FK_BBSpely_BBSUsers
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_BBSSection_BBSUsers]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[BBSSection] DROP CONSTRAINT FK_BBSSection_BBSUsers
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_BBSTopic_BBSUsers]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[BBSTopic] DROP CONSTRAINT FK_BBSTopic_BBSUsers
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BBSReply]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[BBSReply]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BBSSection]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[BBSSection]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BBSTopic]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[BBSTopic]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BBSUsers]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[BBSUsers]
GO

CREATE TABLE [dbo].[BBSReply] (
 [RID] [int] NOT NULL ,
 [RNumber] [varchar] (32) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [RTID] [int] NOT NULL ,
 [RSID] [int] NOT NULL ,
 [RUID] [int] NOT NULL ,
 [REmotion] [int] NULL ,
 [RTopic] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [RContents] [ntext] COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [RTime] [datetime] NULL ,
 [RClickCount] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

CREATE TABLE [dbo].[BBSSection] (
 [SID] [int] NOT NULL ,
 [SName] [varchar] (32) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [SMasterID] [int] NOT NULL ,
 [SStatement] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
 [SClickCount] [int] NULL ,
 [STopicCount] [int] NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[BBSTopic] (
 [TID] [int] NOT NULL ,
 [TNumber] [varchar] (32) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [TSID] [int] NOT NULL ,
 [TUID] [int] NOT NULL ,
 [TReplyCount] [int] NULL ,
 [TEmotion] [int] NULL ,
 [TTopic] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [TContents] [ntext] COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [TTime] [datetime] NULL ,
 [TClickCount] [int] NULL ,
 [TFlag] [int] NOT NULL ,
 [TLastClickT] [datetime] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

CREATE TABLE [dbo].[BBSUsers] (
 [UID] [int] NOT NULL ,
 [UName] [varchar] (32) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [UPassword] [varchar] (16) COLLATE Chinese_PRC_CI_AS NOT NULL ,
 [UEmail] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,
 [UBirthday] [datetime] NULL ,
 [USex] [bit] NOT NULL ,
 [UClass] [int] NULL ,
 [UStatement] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
 [URegDate] [datetime] NOT NULL ,
 [UState] [int] NULL ,
 [UPoint] [int] NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[BBSReply] ADD
 CONSTRAINT [PK_BBSpely] PRIMARY KEY  CLUSTERED
 (
  [RID]
 )  ON [PRIMARY]
GO

ALTER TABLE [dbo].[BBSSection] ADD
 CONSTRAINT [PK_BBSSection] PRIMARY KEY  CLUSTERED
 (
  [SID]
 )  ON [PRIMARY]
GO

ALTER TABLE [dbo].[BBSTopic] ADD
 CONSTRAINT [DF_BBSTopic_TFlag] DEFAULT (1) FOR [TFlag],
 CONSTRAINT [PK_BBSTopic] PRIMARY KEY  CLUSTERED
 (
  [TID]
 )  ON [PRIMARY] ,
 CONSTRAINT [CK_BBSTopic] CHECK ([TLastClickT] > [TTime] and [TLastClickT] < getdate())
GO

ALTER TABLE [dbo].[BBSUsers] ADD
 CONSTRAINT [DF_BBSUsers_YPassword] DEFAULT (8888) FOR [UPassword],
 CONSTRAINT [DF_BBSUsers_UEmail] DEFAULT ('P@P.COM') FOR [UEmail],
 CONSTRAINT [DF_BBSUsers_USex] DEFAULT (1) FOR [USex],
 CONSTRAINT [DF_BBSUsers_UClass] DEFAULT (1) FOR [UClass],
 CONSTRAINT [DF_BBSUsers_UState] DEFAULT (1) FOR [UState],
 CONSTRAINT [DF_BBSUsers_UPoint] DEFAULT (20) FOR [UPoint],
 CONSTRAINT [PK_BBSUsers] PRIMARY KEY  CLUSTERED
 (
  [UID]
 )  ON [PRIMARY] ,
 CONSTRAINT [CK_BBSUsers] CHECK ([UEMail] like '%@%'),
 CONSTRAINT [CK_BBSUsers_1] CHECK (len([UPassword]) >= 6)
GO

ALTER TABLE [dbo].[BBSReply] ADD
 CONSTRAINT [FK_BBSpely_BBSSection] FOREIGN KEY
 (
  [RSID]
 ) REFERENCES [dbo].[BBSSection] (
  [SID]
 ) ON DELETE CASCADE  ON UPDATE CASCADE ,
 CONSTRAINT [FK_BBSpely_BBSTopic] FOREIGN KEY
 (
  [RTID]
 ) REFERENCES [dbo].[BBSTopic] (
  [TID]
 ) ON DELETE CASCADE  ON UPDATE CASCADE ,
 CONSTRAINT [FK_BBSpely_BBSUsers] FOREIGN KEY
 (
  [RUID]
 ) REFERENCES [dbo].[BBSUsers] (
  [UID]
 )
GO

ALTER TABLE [dbo].[BBSSection] ADD
 CONSTRAINT [FK_BBSSection_BBSUsers] FOREIGN KEY
 (
  [SMasterID]
 ) REFERENCES [dbo].[BBSUsers] (
  [UID]
 )
GO

ALTER TABLE [dbo].[BBSTopic] ADD
 CONSTRAINT [FK_BBSTopic_BBSSection] FOREIGN KEY
 (
  [TSID]
 ) REFERENCES [dbo].[BBSSection] (
  [SID]
 ),
 CONSTRAINT [FK_BBSTopic_BBSUsers] FOREIGN KEY
 (
  [TUID]
 ) REFERENCES [dbo].[BBSUsers] (
  [UID]
 )
GO


http://www.niftyadmin.cn/n/1425691.html

相关文章

《Spring核心技术与最佳实践》第六天 Spring事务管理,

Spring 2.0核心技术与最佳实践1.光盘中resin的使用&#xff0c;每个项目自带一个start_resin(配置了resin_home,java_home就可以使用了),双击启动的就是以这个项目为根目录的。运行http://localhost:8080/hello.jsp(hello.jsp就是web下任意一个页面) 工具文件resin.conf,start…

Spring第七天远程调用

RMI远程调用Rmi_Spring (不用在接口中继承Remote&#xff0c;在这里关联起来就可以了) 3个地方设置就可以了1. config.xml(关联RMI的设置) <bean id"userService" class"example.chapter8.UserServiceImpl" /> 实体类关联 <bean id"r…

Spring第九章邮件服务,任务调试和Java消息服务.

第9章Spring集成的其他功能邮件服务&#xff0c;任务调试和Java消息服务. 邮件服务的附件是Spring书中光盘的09/Mail工程一 普通邮件 SimpleMailMessage(JavaMail有两个包&#xff0c;mail.jar,activation.jar, 这里是使用spring的mail, import org.springframework.mail.*; …

spring 第十章 Acegi安全框架

第10章 Acegi安全框架安全保护机制三步曲&#xff1a;认证管理器&#xff0c;决策管理器&#xff0c;过滤器链认证和授权一基于角色的权限控制 (Role Based Access Control RBAC) 授权-角色-用户Java验证和授权服务&#xff08;Java Authentication and Authorization Service…

Spring核心技术与最佳实践 练习

网上书店来完成整个spring的练习 http://www.livebookstore.net/listBooks.jspx 第一部分第一章 初识Spring1.1 JavaEE平台的诞生和发展1.2 Spring的起源1.3 Spring框架介绍1.3.1 Spring的核心IoC容器1.3.2 Spring对AOP的支持1.3.3 Spring对数据访问的封装1.3.4 Spring的声明式…

*使用软件更新来安装Eclipse的插件

1.使用Bytecode Outline直接查看字节码 安装步骤如下&#xff1a; 帮助/软件更新/查找并安装 名称:Bytecode Outline url http://download.forge.objectweb.org/eclipse-update/ 2.WAR文件的打包生成使用JBossIDE 的 packaging Configurations帮助/软件更新/查找并安装 h…

HSQLDB的使用

HSQLDB的使用(通过纯Java创建数据库&#xff0c;可视化工具创建表;和其他数据库仅Driver,url写法不同而已) 1) hsqldb.jar (库/添加JAR) 2)纯java创建数据库(连接就是创建了)import java.sql.*;public class MemoryDB { public static void main(String[] args) { // TODO 自动…

iOS开发masonry动态布局cell高度

说到iOS自动布局&#xff0c;有很多的解决办法。有的人使用xib/storyboard自动布局&#xff0c;也有人使用frame来适配。对于前者&#xff0c;笔者并不喜欢&#xff0c;也不支持。对于后者&#xff0c;更是麻烦&#xff0c;到处计算高度、宽度等&#xff0c;千万大量代码的冗余…