① 一个sql函数名,如果字符串不够位数的话就在前面加上指定位数指定字符
select replace(space(指定位数-len('字段')),space(1),'补位字符')+ltrim(str('字段'))这个 你拿去改对应就ok了的
② sql字符自动填充
select replicate('0',10-len(字段))+字段 from 表 --如果原字段是字符型的话这样写
select replicate('0',10-len(字段))+cast(字段 as varchar(10)) from 表 --如果原字段是数字型的话这样写
以上,希望对你有所帮助!
③ sql语句 怎么在一个字符串中间加几个字符
1、创建测试表,
create table test_split(id number, value varchar2(20));
④ 如何用sql语句在字符串中添加字符
正常情况下把要添加的字符串和原字符串用“+”连接即可。
如:将原有的abc后边加上123.
select'abc'+'123'
结果:
update表名set字段名=字段名+'要添加字符串'
⑤ SQl 字符串累加
sql server 2005环境下测试。
select 仓库,物料编码,盘点票号=left(id,len(盘点票号)-1) from
(
select distinct 仓库,物料编码,盘点票号=(select 盘点票号+',' from table1 where 仓库=t1.仓库 and 物料编码=t1.物料编码 for xml path('')) from table1 t1
)t
⑥ SQL怎么拼接字符串
不同的数据库,相应的字符串拼接方式不同,通过对比加深一下记忆。
一、MySQL字符串拼接
1、CONCAT函数
语法格式:CONCAT(char c1, char c2, ..., char cn) ,其中char代表字符串,定长与不定长均可以
连接两个字符串
(6)sql字符串填充扩展阅读
字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数,如C,pascal,Visual以及LotusScript中进行字符串拷贝,计算长度,字符查找等的函数。
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j"。
而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。
字符串函数的应用
1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:(‘abdag’,2,3)=’bda’
3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ae’
4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5、求字符串长度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串长度用 len(s)例: len("abc12")=5
6、搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.
例:pos(‘ab’,’12abcd’)=3
7、字符的大写转换。Upcase(ch) 求字符ch的大写体。
例:upcase(‘a’)=’A’
8、数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.
例:str(12345,s); 结果s=’12345’
9、数串转换为数值。 过程val(s,x,I) 把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数,第三个参数也可不传
例:val(‘1234’,x,I);结果 x:=1234
⑦ sql语句截取一定长度的字符串,不足时用0填充,有没有可以直接调用的方法
REPLICATE('0',6-LEN(a.FProjectVal))
举个例子自己看看
⑧ sql 取字符串的值 并加一
不同的有不同方法的额,支持正则就很快,不支持就使用自定义函数实现。
正则方法(Oracle)
SELECT SUBSTR('WIN000018'
,1
,LENGTH('WIN000018') -
LENGTH(REGEXP_REPLACE('WIN000018', '[^0-9]+0+', ''))) ||
TO_CHAR(TO_NUMBER(REGEXP_REPLACE('WIN000018', '[^0-9]', '')) + 1)
FROM DUALCREATE
FUNCTION [dbo].[GET_NUMBER_ADD1](@P VARCHAR(100)) RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @S NVARCHAR(100)
DECLARE @R NVARCHAR(100)
DECLARE @I INT
DECLARE @J INT
SET @I=LEN(@P)
SET @S = @P
WHILE PATINDEX('%[^0-9]%',@S) > 0
BEGIN
set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
END
SET @J= convert(int,@s)+1
set @R=right('00000000'+convert(nvarchar,@j),len(@i))
set @R= left(@p,@i-len(@i))+@R
RETURN @R
END
--select GET_NUMBER_ADD1('WIN000018') from temp
⑨ SQL 在一字符串中某一位中插入字符
用stuff函数,很轻松实现:
update a set b=stuff(b,3,0,'d'),函数解释:stuff(str1,str2,str3,str4),str1为要操作的字符串,str2为起始位,str3为取的长度,str4为要插入的新字符。上面操作的解释就是:在A表的B列中,从第三位开始,删除0位,然后插入字符D。