PL/SQL学习笔记-常量变量及数据类型初步
一:常量和变量
开始之前,还是照例做个经典的例子,如下:
declare是声明部分
我在这个部分声明了varchar2类型的变量,名字叫mydata,内容是hellow world,长度是16个长度。
begin….end 部分是执行部分
我在这里调用了oracle已有的过程dbms_output.put_line,这个过程起到了打印的目的
执行完后就打印出了我刚才定义的变量。
注意PL/SQL与T-SQL一样是不区分大小写的
我是用pl/sql developer工具执行上述程序的(如果有必要以后介绍下oracle的安装,基本操作和相关工具)
下面贴两个图,看一下:
你可以通过使用constant关键字声明常量,如:
mydate constant varchar2(16) := 'hellow world';
二:数据类型(不全)
1:number(p,s) 声明数字
p表示精度,即:这个数字一共有几位,p取值1~38
s表示刻度,即:这个数字的小数点位于第几位(从右向左数),s取值-84~127
两个参数都是可选的,
刻度可以为负数,如:
mydate number(6,-2) := 123456;
此变量输出是为:123500。如你所见他被四舍五入了
另需注意:
mydate number(6,2) := 1234.123456;
如上,赋值的数字明显超过了精度,但是可以成功执行,得到的变量为
1234.12,精度为6。同样是四舍五入起的作用
不要试图这样做:
mydate number(6,2) := 123456.123456;
因为系统再怎么四舍五入都满足不了精度要求
2:char(n) 用于定义固定长度的字符串
n表示长度,n不应超过2000,是可选参数
如果你定义了n,但是存储的字符串长度比n小,那么系统会给你用空格补齐
3:varchar2(n) 用于定义可变长度的字符串
n是必须的,表示字符串的最大长度,取值范围1~32767
你定义了一个varchar2的数据,长度比n小,系统不会给你补空格!
4:boolean 定义逻辑变量
取值范围是true,false,null
5:date 定义日期数据
只包含日期,公元前4712到公元9999年,一般不会超过限制
占7个字节
6:timestamp(s) 还是日期型数据
存储年、月、日、时、分、秒、 上午、下午
s表示秒的小数位数,在0~9之间取值
7:LOB 存储文件
BLOG:主要用于存储图像文件
CLOB:主要用于存储文本文件
BFILE:主要用于声音、视频文件
所有文件不要超过4G
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统