数据库标识符

来源:互联网 发布:如何评价蒋介石 知乎 编辑:程序博客网 时间:2024/05/04 09:34

  @开头的表示局部变量或参数,以##开头的标识符表示全局临时对象,以@@开头的表示全局变量,也称为配置函数

  如不符合规则的标识符,被称为分隔标识符,需用“”或[ ] 对其进行分割,例如:SELECT * FROM [my table]


     在数据库XSCJ 中定义一个长度为12的字符串类型变量@student,对 该变量进行赋值,并且查询出“学生基本信息表”中该变量所指定姓名的学生的信息。

   USE XSCJ

   GO

   DECLARE @student CHAR(12)

   SET @student='Brown'

   SELECT * FROM 学生基本信息表 where 姓名=@student


   在数据库XSCJ中定义两个日期时间类型的变量@max_csrq、@min_csrq,分别用于查询"学生基本信息表"中"出生日期"的最大值、最小值。


   USE XSCJ

   GO

DECLARE @max_csrq DATETIME,@min_csrq DATETIME

SELECT @max_csrq=MAX(出生日期),@min_csrq=MIN(出生日期)FROM 学生基本信息表

PRINT @max_csrq

PRINT @min_csrq


计算XSCJ数据库中课程编号为003的课程总成绩和平均成绩


USE XSCJ

GO

SELECT SUM(成绩)AS'课程总分‘AVG(成绩)AS'课程平均分’

FROM 成绩表 WHERE 课程编号=‘003’

GO


通过对“学生基本信息表”中的“出生日期”字段进行计算,查询每一位学生的年龄。

SELECT 学号,姓名,DATEDIFF(yy, 出生日期,GETDATE() ) FROM 学生基本信息表


将学生95021的性别改为女


UPDATE Student SET sex='女‘

WHERE Sno='95021';


将newstudent 的内容合并到student表中,学号相同的以newstudent为准,学号不存在的将newstudent的记录插入到student中。


Merge into student s1using newstudent s2 ON (s1.sno=s2.sno)

when matched then update set s1.name=s2.name, s1.sex=s2.sex,......

when no matched then insert values( s2.sno,s2.name,s2.sex,.. );


查找英文名称中包含stone的电影名称


SELECT VName,VEngName

FROM Video

WHERE UPPER(VEngName) like '%stone%';


LENGTH 确定某一列的数据长度


SELECT VName 片名,LENGTH(VName) 片名长度

FROM Video

WHERE LENGTH (VName)>10 ORDER BY VName ;


TO_DATE  单行函数

INSERT INTO EMPLOYEE VALUES

(

7369,

20,

'NAME'

'TEL'

TO_DATE('17/12/1995','DD/MM/YY')

);


显示员工的电话  NVL(input_value,result_if_value_is_null)

input_value通常是某个一列名

result_if_value_is_null可以是字面值,或其它任何表达式

要求两个参数必须属于同一数据类型

SELECT EName ,NVL(EPhone,'N/A') FROM EMPLOYEE

0 0
原创粉丝点击