① 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