我把邏輯演算法告訴你 ,語句你就自己寫了。用replace函數 去掉對應的字元
例如:select replace(replace(欄位,'尊敬……金額',''),'元……變化','')
使用兩次REPLACE 第一次去掉前面的字元,第二次去掉後面的字元,只剩下數字了,再格式化這串數字為數值,不然語句出來只是個字元串
㈡ SQL 如何對二個欄位中的數字相加得到總數
SQL 語句使用 『+』號將兩個欄位的數值相加
例,表格 tt
㈢ 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如何做字元串數字的總和
select Sum(convert(int,ID)) from student
convert(varchar(100),col_name) 可以把 col_name 轉為指定類型
㈤ SQL如何讓字元串與數值相加
將數字轉為字元串,在相加,SQL提供了相關函數;
UPDATET_TABLESETC=(A+STR(B))--T_TABLE表名
㈥ 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怎麼把兩個欄位的字元相加成一個新欄位啊
因為你在convert時,沒有寫長度,所以默認為1,會只取一個值。
建議使用varchar(10)。