第六章 TransactSQL语言文档格式.docx
《第六章 TransactSQL语言文档格式.docx》由会员分享,可在线阅读,更多相关《第六章 TransactSQL语言文档格式.docx(38页珍藏版)》请在冰点文库上搜索。
CH6_Demo005.sql*/
--声明三个局部变量
DECLARE@LastNamechar
(2),
@CityVariablechar(6),
@BirthdayVariabledatetime;
--将常量赋予给局部变量
SET@LastName='
李'
SET@CityVariable='
北京市'
SET@BirthdayVariable='
5/2/1972'
SELECT姓名,电话号码,家庭住址,出生日期
WHERE姓名LIKE@LastName+'
%'
AND
家庭住址LIKE'
+@CityVariable+'
出生日期=@BirthdayVariable;
CH6_Demo006.sql*/
DECLARE@AvgSalarymoney;
--将计算所得的平均薪水存储到局部变量@AvgSalary中
SELECT@AvgSalary=AVG(目前薪水)FROM章立民研究室;
--将局部变量@AvgSalary所拥有的值显示出来
SELECT@AvgSalary;
CH6_Demo008.sql*/
SELECT姓名=作者姓名,电话=联系电话FROM作者;
CH6_Demo009.sql*/
DECLARE@VlHeredatetime;
SET@VlHere='
09/26/1967'
--此时局部变量@VlHere已经不在适用范围之内且已不存在
--下面这一道SELECT表达式之所以会发生错误,是因它
--访问已经不存在的局部变量@VlHere
SELECT*FROM飞狐工作室WHERE出生日期=@VlHere;
CH6_Demo010.sql*/
/*声明一个名为@MyTableVariable的table数据类型变量*/
DECLARE@MyTableVariableTABLE
(
部门varchar(10)PRIMARYKEY,
员工人数bigint,
部门最高薪水money,
部门最低薪水money,
部门平均薪水money
);
/*将数据添加到@MyTableVariable*/
INSERT@MyTableVariable
SELECT部门,
COUNT(*)AS部门员工人数,
MAX(目前薪水)AS部门最高薪水,
MIN(目前薪水)AS部门最低薪水,
AVG(目前薪水)AS部门平均薪水
FROM章立民研究室GROUPBY部门;
/*列出@MyTableVariable的内容*/
SELECT*FROM@MyTableVariable;
CH6_Demo011.sql*/
DECLARE@number1int;
DECLARE@number2int;
DECLARE@number3decimal(4,2);
SET@number1=13;
SET@number2=5;
SET@number3=3;
SELECT@number1+10;
SELECT@number2-10;
SELECT@number1+@number2;
SELECT@number1-@number2;
SELECT@number1*@number2;
SELECT@number1/@number2;
SELECT@number1/@number3;
SELECT(@number1*@number2)%(@number1+@number2);
CH6_Demo012.sql*/
SELECT产品,库存量+已订购量
FROM产品数据ORDERBY产品ASC;
CH6_Demo013.sql*/
SELECT姓名,(目前薪水/起薪-1)*100AS调薪幅度百分比
FROM飞狐工作室;
CH6_Demo014.sql*/
DECLARE@vlNowdatetime;
SET@vlNow='
01/01/2007'
SELECT@vlNow+10;
CH6_Demo015.sql*/
01/01/199913:
00:
00'
SELECT@vlNow+10.55;
CH6_Demo016.sql*/
DECLARE@Variable1int;
DECLARE@Variable2money;
SET@Variable1=10;
SELECT@Variable2=MIN(目前薪水)FROM章立民研究室;
SELECT@Variable1;
SELECT@Variable2;
CH6_Demo017.sql*/
SELECT联系数据=姓名+'
'
+电话号码,
年龄=DATEDIFF(yy,出生日期,GETDATE())
CH6_Demo018.sql*/
SELECT170&
75;
SELECT170|75;
SELECT~170,~75;
SELECT170^75;
CH6_Demo019.sql*/
DECLARE@vlCitynvarchar(3);
SET@vlCity='
IF(@vlCity<
>
'
)
SELECT公司名称,联系人,电话
FROM客户
WHERE城市='
CH6_Demo020.sql*/
SELECT姓名,员工性别,电话号码,出生日期
WHERE员工性别=0AND
DATEDIFF(yy,出生日期,GETDATE())<
30AND
部门='
信息部'
CH6_Demo021.sql*/
SELECT'
亲爱的:
+姓名+'
+称呼AS大名
FROM员工
WHERE行政区='
大同'
CH8_Demo022.sql*/
DECLARE@vlNumberint;
SET@vlNumber=5-2+27;
SELECT@vlNumber;
CH6_Demo023.sql*/
SET@vlNumber=5*2+27;
CH6_Demo024.sql*/
SET@vlNumber=5*(2+27);
CH6_Demo025.sql*/
SET@vlNumber=5*(6+(8-4));
--文件名称:
CH6_Demo026.sql
--编写人:
章立民研究室
--日期:
01/11/2002
--著作权所有人:
--设置活动数据库
--列出信息部的员工数据
SELECT*FROM章立民研究室WHERE部门='
CH6_Demo027.sql
SELECT姓名,电话号码,部门,
年龄=DATEDIFF(year,出生日期,GETDATE())--该表达式能计算出年龄
--不列出财务部的员工数据
WHERE部门<
财务部'
ORDERBY4DESC;
--按照年龄高低来排序
/*
文件名称:
CH8_Demo028.sql
系统属性:
DatabaseWeb
编写人:
日期:
/24/2006
著作权所有人:
*/
/*设定活动数据库*/
/*列出信息部的员工数据*/
SELECT*FROM飞狐工作室WHERE部门='
第六章Transact-SQL语言(批处理、函数、流控制命令)
SETNOCOUNTON;
BEGINTRANSACTION;
CREATETABLE我的朋友
编号intIDENTITY(1,1),
姓名nvarchar(20)
INSERT我的朋友(姓名)VALUES('
章立民'
洪志豪'
周时恕'
吴佐群'
章小涵'
刘时慧'
陈小明'
刘一群'
DECLARE@NmbrFriendsint;
SELECT@NmbrFriends=COUNT(*)FROM我的朋友;
PRINT'
到'
+CONVERT(varchar(30),GETDATE(),121)+'
为止,我的朋友表有'
+
CAST(@NmbrFriendsASchar
(2))+'
条数据记录'
COMMITTRANSACTION;
DROPTABLE我的朋友;
SETNOCOUNTOFF;
SELECTLEN('
我叫ALEX'
我叫ALEX'
DECLARE@vlString1nvarchar(10);
DECLARE@vlString2nvarchar(16);
SET@vlString1=N'
我是章立民'
SET@vlString2=N'
MynameisAlex.'
SELECTLEN(@vlString1+@vlString2);
SELECTDATALENGTH('
SELECTDATALENGTH(@vlString1);
SELECTDATALENGTH(@vlString2);
SELECT姓名,姓名的字节数=DATALENGTH(姓名),
自传,自传的字节数=DATALENGTH(自传),
相片的字节数=DATALENGTH(相片)
FROM飞狐工作室ORDERBY4DESC,1;
SELECTSUBSTRING('
3,3);
DECLARE@vlStringvarchar(10);
SET@vlString='
ABC123我爱上网'
SELECTSUBSTRING(@vlString,4,5);
CH6_Demo006.sql*/
--创建一个表
CREATETABLEDemoTable
uidintIDENTITY(1,1),
contentntext
--向表中添加数据记录
INSERTDemoTable
(content)
VALUES(N'
ABC我是ALEX章立民'
123我爱Internet'
SELECTuid,SUBSTRING(content,3,5)
FROMDemoTable;
DROPTABLEDemoTable;
CH6_Demo007.sql*/
contenttext
VALUES('
SELECT尊称=SUBSTRING(姓名,1,1)+'
+称呼,
简历=SUBSTRING(附注,1,19)
FROM员工;
SELECTLEFT('
多阶层式数据库'
3);
章立民ALEX'
5);
SELECT姓名,都会=LEFT(家庭住址,3),话说从头=LEFT(自传,10)
FROM飞狐工作室WHERE自传ISNOTNULL;
SELECTRIGHT('
3)
5)
SELECTRIGHT(姓名,2)FROM员工;
DECLARE@vlString1varchar(10);
DECLARE@vlString2varchar(20);
SET@vlString1='
北京世贸'
SET@vlString2='
计算机软件展'
SELECT@vlString1+LTRIM(@vlString2);
DECLARE@vlString1varchar(20);
DECLARE@vlString2varchar(12);
北京世贸'
计算机软件展'
SELECTRTRIM(@vlString1)+@vlString2;
SELECT联络簿=RTRIM(姓名)+'
-'
+电话号码+'
+家庭住址
SELECTSTUFF('
计算机天地你我他'
6,3,'
图书'
2,0,'
);
计算机天地'
4,0,'
4,1,'
计算机A天地'
5,1,'
Computer'
SELECTYEAR('
09/26/2007'
SELECTDATEPART(yy,'
09/26/19993:
20:
50PM'
--返回当前日期时间的年份
SELECTYEAR(GETDATE());
SELECT身份证号码,姓名,出生日期,
YEAR(GETDATE())-YEAR(出生日期)AS年龄
FROM章立民研究室
WHEREYEAR(GETDATE())-YEAR(出生日期)>
30;
SELECTMONTH('
08/26/2007'
SELECTDATEPART(mm,'
03/29/200613:
50'
--返回当前日期时间的月份
SELECTMONTH(GETDATE());
SELECT身份证号码,姓名,出生日期FROM章立民研究室
WHEREMONTH(出生日期)=12;
SELECTDAY('
SELECTDATEPART(dd,'
--返回当前日期时间的日数
SELECTDAY(GETDATE());
WHEREMONTH(出生日期)=9ANDDAY(出生日期)=26;
DECLARE@Nowdatetime;
SET@Now=GETDATE();
今天是公元'
+CAST(DATEPART(yy,@Now)ASchar(4))+'
年'
+
RTRIM(CAST(DATEPART(mm,@Now)ASchar
(2)))+'
月'
RTRIM(CAST(DATEPART(dd,@Now)ASchar
(2)))+'
号'
RTRIM(CAST(DATEPART(hh,@Now)ASchar
(2)))+'
点'
RTRIM(CAST(DATEPART(mi,@Now)ASchar
(2)))+'
分'
RTRIM(CAST(DATEPART(ss,@Now)ASchar
(2)))+'
秒星期'
RTRIM(CAST((DATEPART(dw,@Now)-1)ASchar
(2)));
/*文件名称:
CH6_Demo022.sql*/
+DATENAME(yy,@Now)+'
DATENAME(mm,@Now)+'
DATENAME(dd,@Now)+'
'
DATENAME(hh,@Now)+'
DATENAME(mi,@Now)+'
DATENAME(ss,@Now)+'
秒,'
DATENA