① sql位數不足補0
假設結果值用變數a表示,補位用b表示,需求結果用c表示
if len(a)=1 then
b="000"
elseif len(a)=2 then
b="00"
elseif len(a)=3 then
b="0"
else
b=""
end if
c=b&a
② sql數據補位
用lapd函數,左補零
用法
select LPAD(100,5,0) from al
100為欄位名,5為補完後的長度,0為補充的字元
③ sql 不夠七位數 在左側自動補零,怎麼實現
sqlserver:
select right(cast('0000000000'+rtrim(欄位) as varchar(20)),7)
oralce:
select lpad(欄位, 7 , '0') from al
④ SQL資料庫的問題
select EMPID,data,min(time) as '上班',max(time) as '下班' from (select EMPID,time,data,row_number() over (partition by data order by data,EMPID) from 表名 order by data ,EMPID )group by data,EMPID;
這個是oracle用的,time的數據必須都是5位的。
如果是Time=rtrim(KqTime/3600)+':'+rtrim(KqTime%3600/60) 這的話
改一下就行了,如果小時和分鍾不夠兩位補左邊補0就行了
比如說 25200 時 早上7點
表示出來就應該是【07:00】
⑤ 在pl/sql里向數字左邊添加幾個零用什麼函數
左邊補0,返回5位寬的字元
select lpad(to_char(123),5,'0') from al;
⑥ SQL 2000中我要將1—10000這個數字左邊增加0數字最後1—10000就是00000001-00010000成8位數。
如果該欄位是數字型的,前面不能加零,除非是字元串型的。
實際上,資料庫中的數據是什麼樣你不用在意,你應當是希望在顯示的時候加零,你可以在讀取資料庫中的該欄位值後做處理再顯示,這樣就簡單了!可以用Format函數實現。
⑦ PL/SQL題(帶答案),求解說高手 (答案連接)
/*1.怎麼查詢內容帶引號?lpad(i, 4, '0')是什麼意思?*/
LPAD(i, 4, '0')就是說如果i不夠4位,就在左邊補0,譬如i為1,則返回0001,如果i為123,返回0123
into vn_student_name
from al;
/*2.此表是哪來的?*/ al是oracle裡面的一個特殊表,系統自帶的,只有一行,用這個來作為from後面的,就只返回一條記錄
select trunc(dbms_random.value(17, 20)) into vn_student_age from al;
/*3.此語句詳細解釋每個詞的意思,與使用方法*/
dbms_random.value(17, 20)返回一個大於等於17,小於20的數字。trunc() 忽略小數點部分,返回整數部分
select trunc(dbms_random.value(1, 151)) into vn_chinese from al;
select trunc(dbms_random.value(1, 151)) into vn_enlish from al;
select trunc(dbms_random.value(1, 151)) into vn_computer from al;
vn_all := vn_chinese + vn_enlish + vn_computer;
vn_student_sex := round(DBMS_RANDOM.VALUE(1, 2));
將產生一個大於等於1,小於2得隨機數,round()函數四捨五入取整數
/*4.等號後邊的用法說明*/
if vn_student_sex = 1 then
/*5.if語句如何實現功能簡述,boy和girl不用定義?怎麼還出現501了*/
功能很清晰啊,根據student_sex來給girl, boy數量+1
girl := girl + 1;
else
boy := boy + 1;
end if;
if boy >= 501 then
vn_student_sex := 1;
elsif girl >= 501 then
vn_student_sex := 2;
end if;
vn_paiming := 1;
insert into student_test
values
(vn_student_name,
vn_student_sex,
vn_student_age,
vn_chinese,
vn_enlish,
vn_computer,
vn_all,
vn_paiming,
'Y');
end loop;
commit;
/*6.往後是啥意思?*/
根據curose c_tt來做更新student_tet操作。根據student_test裡面的紀錄數字判斷是否要更新student_test if_hege欄位
如果有sql exception發生,就rollback
⑧ SQL自動補全數據的語句怎麼寫
Select right('000000'+convert(varchar(10),b),6) as b from a
⑨ sql語句問題 在一組數字前面加一個0
如果該列是char或者varchar類型 直接:
update 表名
set 列名='0'+列名
就可以.
如果該列是數值型,可以用
update 表名
set 列名='0'+ltrim(rtrim(str(列名)))
⑩ 在sql中convert怎麼用
下面鏈接是sql函數大全
實例
下面的腳本使用 CONVERT() 函數來顯示不同的格式。我們將使用 GETDATE() 函數來獲得當前的日期/時間:
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
結果類似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635