![数据库原理及应用:SQL Server 2016](https://wfqqreader-1252317822.image.myqcloud.com/cover/996/36861996/b_36861996.jpg)
2.6 实验2 常量、变量、函数和表达式的应用
2.6.1 实验目的
1)掌握常量、变量的基本概念和命名规则。
2)学会用SQL Server的SSMS进行变量定义、赋值和运算。
3)掌握SQL Server的常用全局变量和用法。
4)理解并掌握SQL Server的各种数据类型和用法。
5)掌握SQL Server的常用函数和用法,了解自定义函数的步骤和方法。
6)掌握SQL Server的常用运算符和表达式用法,能根据要求写出表达式并求值。
2.6.2 实验内容
1)使用SMSS新建查询和执行SQL脚本。
2)检验标识符命名标识是否合法。
3)通过新建查询窗口,定义SQL Server支持的各种数据类型变量,并对变量进行赋值,使用运算符定义算术表达式和逻辑表达式。
4)输出SQL Server全局变量。
5)使用SQL Server内置函数进行计算。
*6)编写自定义函数,并实现定义和调用。
2.6.3 实验练习
1.使用SMSS新建查询和执行SQL脚本
1)在SMSS中单击“新建查询”按钮,并在打开的窗口中输入以下内容。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/71_02.jpg?sign=1738938887-pmNxudXhaYnqMSMXZf6lB9fiiR7hZpS2-0-2f38cba4d7eecfd4599f4ea79a3a4922)
2)单击“执行”按钮,即可看到输出结果为:100。
2.标识符命名是否合法
1)在SMSS中单击“新建查询”按钮,并在打开的窗口中输入以下内容。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/71_05.jpg?sign=1738938887-240FRWsPAxR9XEGa3f4uuUhgVbljIk6c-0-1f50bedc16a34e342cfe6855cbf6de2b)
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/72_01.jpg?sign=1738938887-5QAuT9nBj5UGL8dky33bCArO3bpZO36Q-0-6c5b6a2a54858ae3ade86f4f2b4cba32)
2)单击“执行”按钮,查看输出结果。
3)将步骤1)中的输入内容清空,然后输入以下内容。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/72_03.jpg?sign=1738938887-qwLpdOFZG2ebudiCfFDMZL0re83I672H-0-0c93d10e89c6069909a18c2de8bdbbbb)
4)单击“执行”按钮,查看输出结果。
3.通过新建查询窗口,定义SQL Server支持的各种数据类型变量,并对变量进行赋值,使用运算符定义算术表达式和逻辑表达式
1)在新建的查询窗口中定义以下类型的变量并赋值。
① 字符串常量。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/72_05.jpg?sign=1738938887-Jj04smzCCsTHpggANWlaERr4nu4jVejs-0-5cc61c67e81950b1ca7160af4c6d3b2e)
② 数据常量。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/72_06.jpg?sign=1738938887-roiw2lfLyG3uKCNE9qlTzzgpaHrNVaOA-0-67f3838b7feff2bd420d751ce31d0494)
③ 日期类型。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/72_07.jpg?sign=1738938887-S0vn7kt4qJbOvAif03ymm8fmMz7pac0H-0-a9c534b8c62ed4dd7f5dce1edc008584)
2)在上述变量定义的基础上,计算表达式的值。
① 算术表达式。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/72_08.jpg?sign=1738938887-ORQ9SufUF1yyroD4Rlxw3qDCQOZu0DSQ-0-19027215fb989a20628173c96990cea8)
② 字符表达式。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/72_09.jpg?sign=1738938887-DYJIIKzNFFktn6XB1lJJjYs2x73bDjw2-0-7dbec3cb38eff2161e2bb2d39865869a)
3)按位运算表达式。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/72_10.jpg?sign=1738938887-H2tC2aq2zpDMLP9oCEypT6n5Vk3H3OdA-0-6733d37e7204f0b1cf579752ec741916)
4)单击“执行”按钮,执行结果如图2-11所示。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/73_02.jpg?sign=1738938887-TAXaTBXYigJBJEUgT29N2hOX5GTzbxQE-0-7033b6bc5d561b30b0f5736acddf479e)
图2-11 执行结果
4.使用SMSS新建查询,依次输入表2-24中的全局变量,查看输出结果
5.使用SQL Server中的内置函数进行计算
1)聚合函数练习。将书中的图书馆数据库导入SQL Server中,基于Libaray数据库练习表2-26中的聚合函数,并查看输出结果。
2)基于表2-27练习常用的数学函数,并查看输出结果。
3)基于表2-29练习常用的字符函数,并查看输出结果。
4)基于表2-30练习常用的日期时间函数,并查看输出结果。
6.编写自定义函数,并实现定义和调用
假设圆柱体的底面半径为r,高为h,编写函数求圆柱体的体积和表面积。并调用上述两个函数,分别求r=3、h=5的圆柱体的体积和表面积。
1)在SMSS单击“新建查询”按钮,在打开的窗口中输入以下内容。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/73_03.jpg?sign=1738938887-R8VNWMBZzJnplLvfkEzz2wXiTkwZ6xiU-0-b41bd90d41b01e07302ca5ad6b38cac7)
2)选中步骤1)中的脚本,并单击“执行”按钮。查看是否出错,如果出错,查找原因并修改错误,直到执行成功。
3)步骤1)中的脚本执行成功后,即函数创建成功,在窗口中输入以下语句。
![](https://epubservercos.yuewen.com/39535B/19549637508899006/epubprivate/OEBPS/Images/73_04.jpg?sign=1738938887-zcB65tNW2U0f6qmeVTG15fiYsCeRFAAm-0-2a1f97a353f6a2286d416051ae8d5af8)
4)选中步骤3)中的语句,并查看输出结果,输出的正确结果为:141.371667。
5)参考步骤1)~步骤3),完成圆柱体表面积函数的编写和调试。