操作函式(續)

2021-08-19 02:53:43 字數 2152 閱讀 9501

一、

--練習:

-- 1:db與dbms的區別

-- db:按照一定的資料結構儲存資料的倉庫

-- dbms:使用sql語言管理db的資料庫管理系統

-- 2:修改表中的某一欄位名

-- alter table tname rename column oldname to newname

-- 3:向表中新增乙個新的字段的格式

-- alter table tname add (colname type)

-- 4:修改表中某一欄位型別的格式

-- alter table tname modify colname type

-- 5:查詢emp表中的所有人的姓名,首字母大寫

select initcap(ename) from emp;

-- 6:檢視所有員工的職位,使之右對齊

select lpad(job,10,' ') from emp;

-- 7:檢視所有員工的在職月份,保留整數字

select round(months_between(sysdate,to_date(to_char(hiredate,'yyyy-mm-dd'),'yyyy-mm-dd'))) from emp;

-- 8:檢視自己40歲的日期

select add_months(to_date('1987-10-12','yyyy-mm-dd'),40*12) from dual;

--****************************************==

二、日期函式(續)

1:next_day(date,num)

表示檢視引數date的下乙個週幾的日期

date:某一日期

num:範圍為1-7,表示週日到週六

2:least(p1,p2,p3,...)

多個引數比較,顯示最小的資料

3.greatest(p1,p2,p3,………………)

多個引數比較,顯示最大的資料

注意:①要求:引數為同一型別,

②或者可以預設轉換成第乙個引數的型別。

③引數型別基於第乙個引數型別,以第乙個引數的型別為基準  

④字串型別比較大小:比較的字元的ascii碼的大小。

4:extract( p1分 from p2):

表示從日期p2中提取分量p1

①日期的分量:

year

month

dayhour

minute

second

②日期型別關鍵字sysdate和systimestamp,表示當前系統時間

可以從sysdate中提取年月日

可以從systimestamp中提取年月日時分秒

三、空值操作:

null:表示空的意思。

1:表中的任何字段,預設情況下都可以為null值。

2:not null表示 非空,是一種約束,

3.設定為非空約束的字段,必須有有效值,不能為空

4:插入資料時,沒有賦值的字段都是null值。

reg:

insert into emp (empno,ename) values(2001,'張三');

此記錄中,沒有賦值的字段都是null值。

reg:

insert into emp (empno,ename) values(2002,null);

此記錄中,欄位ename為null值。

5:修改資料時,

(1)當空值為條件時

update emp set ename='張三' where comm is null;

(2)當被設定為null時,

update emp set ename = null;

6:當空值參與計算時。

null:相當於無窮大

1+null為null

null也不等於null

reg:計算員工的月收入

select sal+comm from emp; 明顯結果有問題。

四、空值操作函式:

1)nvl(p1,p2)

表示:如果p1這個欄位的值為null,就使用p2

否則使用本身p1

(2)nvl2(p1,p2,p3)

表示:如果p1是null,就使用p2,

如果p2是null,使用p3

ANSI庫續(時間函式)與檔案操作初識

c c 學習筆記之十一 上一節我們講到了標頭檔案stdlib.h與標頭檔案stdio.h中的sscanf sprintf rand srand函式,這一節將繼續討論時間相關函式和檔案操作。時間函式的標頭檔案是 include time t型別 是乙個整數,可以強制轉換為int來列印 與編輯器有關,通...

C 常用函式(續)

view plain 又寫了一些函式,希望大家給指點一下。小弟不勝感激。因為我是在利用ace 在linux下編寫程式,看到ace debug error ace text delallblank execaption n 等是為了除錯程式的方便寫的。用的時候可以丟掉的。view plain wall...

函式的遞迴(續)

漢諾塔問題 有三根柱子a,b,c a柱子上有n個盤子,把a柱子上的盤子全部移到c柱子上,一次只能移動乙個盤子,大的盤子不能放在小的盤子上面,求最少要移動多少次?分析 需要注意的是,只有把a柱子上 n 1 盤子移到b上,才能把a柱子第n個盤子移到c上.有1個盤子 直接移到c 1次 共 1次 有2個盤子...