① 一個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。