大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
create table 表名
丹徒ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
(id int,
name varchar2(10) default ' ');
其中default ' '则代表默认空格。
自己写一个函数吧:
create or replace function f_test(num integer) return varchar2 is
i integer;
resultStr varchar2(100);
begin
for i in 1 .. num loop
resultStr := resultStr || ' ';
end loop;
return resultStr;
end f_test;
如要8个空格:
select decode(b,null,f_test(8),rpad(b,8)) from tablename
第一个问题,VARCHAR2是变长,不会补,但是CHAR会补。所以VARCHAR2的'SDF'跟'SDF
'记录不一样。
第二个问题,你那个where
name
=
'变量值'就搜的是变量值靠左的,对于CHAR类型ORACLE会自动截掉后面的空格,对于VARCHAR2类型不会截。
具体的匹配是什么算法我太知道,不过猜想WHERE的时候CHAR类型是截掉后面的空格,前面的不会截。如果你用CHAR类型,'JOHN'
跟'JOHN
'是一样的记录,本身CHAR会自动用空格填补后面的位置