Oracle PL\SQL 操作(三)Oracle函数
1.系统变量函数
(1)SYSDATE
该函数返回当前的日期和时间。返回的是Oracle服务器的当前日期和时间。
select sysdate from dual;
insert into purchase values
(‘Small Widget’,’SH’,sysdate, 10);
insert into purchase values
(‘Meduem Wodget’,’SH’,sysdate-15, 15);
查看最近30天的所有销售记录,使用如下命令:
select * from purchase
where purchase_date between (sysdate-30) and
sysdate;
(2)USER
查看用户名。
select user from
dual;
(3)USERENV
查看用户环境的各种资料。
select userenv(‘TERMINAL’) from
dual;
2.数值函数
(1)ROUND 四舍五入函数
ROUND(数值,保留位数)
select round(3.1415,3) from deul;
select product_name,round(product_price,0) price
from
product;
(2)TRUNC 从数中截去小数部分
TRUNC(数值,截断小数点n位后的数)
select trunc(3.145159,3) from dual;
select trunc(123456.45,-1) from dual;
select trunc(123456.45) from dual;
select product_name,trunc(product_price) price
from
product;
3.文本函数
(1)UPPER、LOWER和INITCAP
这三个函数更改提供给它们的文体的大小写。
select upper(product_name) from product;
select lower(product_name) from product;
select initcap(product_name) from
product;
函数INITCAP能够整理杂乱的文本,如下:
select initcap(‘this TEXT hAd UNpredictABLE caSE’) from
dual;
(2)LENGTH
求数据库列中的数据所占的长度。
select product_name,length(product_name) name_length
from product
order by
product_name;
(3)SUBSTR
取子串,格式为:
SUBSTR(源字符串,起始位置,子串长度);
create table item_test(item_id char(20),item_desc char(25));
insert into item_test values(‘LA-101’,’Can, Small’);
insert into item_test values(‘LA-102’,’Bottle, Small’);
insert into item_test values
(‘LA-103’,’Bottle, Large’);
取编号:
select substr(item_id,4,3) item_num,item_desc
from
item_test;
(4)INSTR
确定子串在字符串中的位置,格式
相关文档:
首先我想谢谢园子的朋友们,是你们提醒我写内容有错误,记得曾经电子商务之数据存储流程(五)里面说到“选存储过程+传递参数用SqlParameter是因为,除非是ADO.NET有漏洞,那么就绝对不会发生SQL注入”。Keep Walking大哥也在关于防止sql注入的几种手段(二)中举出来一个例子说明我说的上句话是错误的。说实话当 ......
declare @tb3 table (商品编号 nvarchar(10),批次号 nvarchar(10),库存数量 int,出库数量 int)
declare @tb1 table (商品编号 nvarchar(10),批次号 nvarchar(10),库存数量 int)
insert into @tb1 select '0001','090801',200
union all select '0001','090501',50
&n ......
写法一:
set xact_abort on
begin tran
DECLARE @SQL VARCHAR(99)
DECLARE CUR_FK CURSOR LOCAL FOR
SELECT 'alter table '+ OBJECT_NAME(FKEYID) + ' drop constraint ' + OBJECT_NAME(CONSTID) from SYSREFERENCES
--删除所有外键
OPEN CUR_FK
FETCH CUR_FK INTO @SQL
WHILE @@FETCH_STATUS =0
BEGIN
......
if exists(select * from master.dbo.sysdatabases where name = 's2723103005')
begin
drop database s2723103005
print '已删除数据库s2723103005'
end
create database s2723103005
on primary
(name=His_data,
filename = 'd:\database\his_data.mdf',
siz ......
1.Oracle怎样存储文本
CHAR和VARCHAR2的区别
•CHAR定长字符串,VARCHAR2变长字符串。
•CHAR(n) 定长字符串,n字节,n的取值范围:1~2000字节。
•VARCHAR2(n) 可变长的字符串,定义时应指明最大长度,取值范围:1~ 4000字节。
2. Oracle怎样存储数值
数值类型说明: NUMBER(m , n)
数字 ......