『壹』 sql 語句問題 把某列的數據全部+1
給你提供個思路,你可以用替換的方法,如果含有字母的,放到一個map中對應,map的key放去掉字母的木粉,map的value放原值,然後給key值加1值,用以替換value中的數字。如果不含字母,直接加1
『貳』 sql中使字元串自動加1.例如:2012120001加1變成2012120002;2012120009加1變成2012120010,如下圖所示:
這個很簡單,用序列。Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE許可權,
CREATE SEQUENCE SEQ1(序列名)
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數
NOMAXVALUE -- 不設置最大值
NOCYCLE -- 一直累加,不循環
CACHE 10;
『叄』 SQL語句能直接操作一張表的某個值加1,或者減1么具體語句應該怎麼寫
sql語句將一個表的某個值加1或減1,直接用update語句即可。
工具:mysql 5.6
步驟:
1、如圖,student表中有如下數據:
『肆』 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 新增 加1的語句怎麼寫
sql = "update CxInfo set C_Read=1 where id = "&CxId
sql= sql & " update c_user set C_Level=C_Level+1 "
如果SQL可以寫在一起
如果是ACCESS好像不能寫一起.
2個語句要分開執行
-1么 第二句換成-1
『陸』 SQL varchar類型裡面的數字+1
此處例子----sql server
對於字元類型的有:
char:固定長度,存儲ANSI字元,不足的補英文半形空格。
nchar:固定長度,存儲Unicode字元,不足的補英文半形空格
varchar:可變長度,存儲ANSI字元,根據數據長度自動變化。
nvarchar:可變長度,存儲Unicode字元,根據數據長度自動變化。
也就是說:varchar 可變長度,
varchar(50)即長度為:50個字元
當有存入值時,就跟據實際的值的大小(長度)存入數據。
『柒』 為sql一欄位值中每個特定字元前的最後一個數字加1怎麼處理
這個需要用到plsql(過程、語句塊)編程:
1.
按照頓號拆分
2.
取倒數第一個字元+1,如果>10則賦值為0
3.
循環完成後使用頓號連接起來,更新到該行,ok。
『捌』 SQL資料庫欄位加減一個定量的實現語句。
這是一個相對復雜的處理,^_^,思路如下:
1.將PAS00000000055956的前3位PAS截取下來
2.將PAS00000000055956中的後14位數字截取下來,並轉換成數字,然後與9000000相加
3.將加的結果轉換為字元串,並與'0000000000000'進行拼接,
4.對拼接的字元串進行取得最右邊的14位,這樣保留了原來的PAS00000000055956的後面的14位長度不變
5.對取得的結果與第1步截取下來前3位PAS進行拼接,這樣得到了最後的結果,
具體的SQL語句如下:
substring(PAS00000000055956,1,3)+right('0000000000000'+cast((cast(substring(PAS00000000055956,4,14) as int) +9000000) as varchar(14)),14)
呵呵,希望能有幫助,^_^
『玖』 A表裡的欄位B是varchar類型、數值都是XY00002900這樣的。要給後四位加1.請問sql怎麼寫
update A set b= left(b,2) + right('00000000' + trim(convert(varchar(8),cast(right(b,8) as int)+1)),8) --- +1 是要加的數
where b='xy00002809'
『拾』 想請問 如果是想讓資料庫里的某一列數值加1 怎麼寫update 語句合適呢
1、創建測試表,create table test_update(id number);