我把逻辑算法告诉你 ,语句你就自己写了。用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)。