来;
select 'china'+LTRIM(RTRIM(' machine '))+'press'
5)将字符串“abcdabcd”中的所有字符“a”换为字符“h”。
declare @c varchar(10) set @c='abcdabcd'
print replace(@c,'a','h')
(3) 日期、时间函数的使用
1)返回系统当前日期并以整数形式返回当前日期的年份、月份、日及季度;
select GETDATE()
select YEAR(getdate()) select MONTH(getdate()) select DAY(GETDATE())
SELECT datepart(quarter,GETDATE())
2)返回给定日期“2006-2-21”与当前日期相差的天数。
declare @a datetime set @a = '2006-02-21'
select DATEDIFF(DAY,@a,GETDATE())
(4) 系统函数与元数据函数的使用 1)显示正在使用的用户名、数据库名;
select USER_NAME(),DB_NAME()
2)返回当前主机标识及主机名称。
select HOST_ID() as 当前主机标识 select HOST_NAME() as 当前主机名称
3.编写较复杂的Transact-SQL程序
(1) 在COMPANY数据库中,我们将员工的工资水平分为三类,即工资小
于30000为低工资,工资大于等于30000且小于50000为中等工资,工资大于等于50000为高工资。请显示所有员工的姓名及其对应的工资水平。
SELECT Ssn,
'工资水平' = CASE
WHEN(Salary < 30000) THEN '低工资'
WHEN(Salary >= 30000 AND Salary < 50000)
THEN '中等工资'
WHEN(Salary >= 50000) THEN '高工资' END
FROM EMPLOYEE
(2) 用Transact-SQL语言编写程序计算1~100之间所有能被7整除的数
的总和。
declare @sum int,@i int set @sum = 0 set @i = 0
while @i <= 100 begin
if(@i % 7 = 0)
set @sum = @sum + @i
set @i = @i + 1 end
print @sum
4.编写简单存储过程
(1) 在COMPANY数据库中,编写一存储过程:输入参数为部门编号,查询该部门员工的FNAME,LNAME,SSN,SEX和DNAME信息
create PROCEDURE departem @dnum smallint,
@FNAME nvarchar(50) OUTPUT, @LNAME nvarchar(50) OUTPUT,
@SSN char(9) OUTPUT,@SEX char(2) OUTPUT,@DNAME nvarchar(50) OUTPUT as begin
select Fname,Lname,Ssn,Sex,dname from EMPLOYEE
join DEPARTMENT on Dno = Dnumber where @dnum = dno