當前位置:首頁 » 編程語言 » sql身份證怎麼修改
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql身份證怎麼修改

發布時間: 2023-05-13 05:18:52

㈠ 如何運用sql語句更改資料庫表中身份證號碼中的某一位數

我勉強寫一個,用oracle的語句啊
update table set 號碼=substr(號碼,1,n-1)||『a』||substr(號碼,n+1) where 號碼='XXXXXXXXXXXX';

where 後面的XXXXXXX表示原來的號碼,這里是修改的第n位,修改為a。
sql server中好像這個函數是SUBSTRING

㈡ 建立SQL資料庫,其中有個身份證的欄位,該用什麼數據類型。

設計用戶表時,身份證號為固定18位長,對該欄位最好採用char數據類型漏慧。

char類型對英文字元佔用1個位元組,對一個漢字佔用2個位元組,而且char存儲定長數據很方便,char欄位上的索引效率極高。

比如:定義char(10),那麼不論你存儲的數據是否達到了10個位元組,都要佔去10個位元組的空間,不夠的字元用空格去填。因為是固定長度,所以速度效率高。



(2)sql身份證怎麼修改擴展閱讀

char與varchar的比較:

1、數據存儲開銷

每個varchar列需要額外的兩個位元組,用於反映存儲的數據的長畢明度。

每個可為NULL的char列,需要一些位元組(空點陣圖)來反應數據的為空性。無論實際數據的長度是多少,char按照定義的長度分配存儲空間。

2、NULL值

char列的NULL值佔用存儲空間,varcahr列的NULL值不佔手搜告用存儲空間。插入同樣數量的NULL值,varchar列的插入效率明顯高出char列。

3、插入數據

無論插入數據涉及的列是否建立索引,char的效率都明顯低於varchar。

4、更新數據

如果更新的列上未建立索引,則char的效率低於varchar,差異不大;建立索引的話,效率差異較大。

5、修改結構

對於增加列的寬度而言,char與varchar有非常明顯的效率差異,修改varcahr列基本上不花費時間,而修改char列需要花費很長的時間。

6、數據檢索

無論是否通過索引,varchar類型的數據檢索略優於char的掃描。

㈢ sql server 批量修改

伺服器宴埋表肢祥鎮 TBServer;客戶機表 TB;
update TBServer set TBServer.身份證號=TB1.身份證號 from TBServer inner join (select 身份證號,工號 from TB (修改後的身份證號標志子句))as TB1 on tb1.工歷粗號=TBServer.工號

㈣ 求一SQL語句把身份帶X的小寫改大寫

用函數upper就可以處理了
UPPER
返回將小寫字元數據轉換為大寫的字元表達式。

update farmer
set sfzh = UPPER(sfzh)
where sfzh='53220119740820511x'

㈤ 資料庫身份證錯誤怎麼修改

資料庫身游斗份證號碼錯誤可以在轄區派出所戶政窗更改。根據查詢相關公開信息顯示在轄區派神蔽磨出所戶政窗口,領取《更正身份證錯誤申請表》,填寫後與戶口本、舊身份證一並遞交辦證窗口。工作人員會當場進行並談處理。並給付領取身份證憑條通知單。兩個月後可以領取新證。也可以辦理同城證件快遞,在家等待簽收。

㈥ PL/SQL developer 修改表姓名為張三和李四的身份證號碼的SQL語句,求解!

你好!

答案如下!:

update table set person_id = '11111' where c_name in ('張三','李四');

絕對正確答案!

請您採納!

㈦ 我在sql資料庫里有一列為身份證號,我怎麼添加一列為對應的年份啊,

方法1:修改表定義,加入年份
方法2:寫存儲過程
create proc addcolumn
@tablename varchar(30), --表名
@colname varchar(30), --要加的列名
@coltype varchar(100), --要加的列類型
@colid int --加到第幾列
as

declare @colid_max int
declare @sql varchar(1000) --動態sql語句
--------------------------------------------------
if not exists(select 1 from sysobjects
where name = @tablename and xtype = 'u ')
begin
raiserror 20001 '沒有這個表 '
return -1
end
--------------------------------------------------
if exists(select 1 from syscolumns
where id = object_id(@tablename) and name = @colname)
begin
raiserror 20002 '這個表已經有這個列了! '
return -1
end
--------------------------------------------------
--保證該表的colid是連孫孫續的
select @colid_max = max(colid) from syscolumns where id=object_id(@tablename)

if @colid > @colid_max or @colid < 1
set @colid = @colid + 1
--------------------------------------------------
set @sql = 'alter table '+@tablename+ ' add '+@colname+ ' '+@coltype
exec(@sql)

select @colid_max = colid
from syscolumns where id = object_id(@tablename) and name = @colname
if @@rowcount <> 1
begin
raiserror 20003 '加一個新列不成功,請檢查你的列類型是否正確 '
return -1
end
--------------------------------------------------
--打開修改系統表的則悔鏈開關
EXEC sp_configure 'allow updates ',1 RECONFIGURE WITH OVERRIDE

--將新列列號暫置為前段-1
set @sql = 'update syscolumns
set colid = -1
where id = object_id( ' ' '+@tablename+ ' ' ')
and colid = '+cast(@colid_max as varchar(10))
exec(@sql)

--將其他列的列號加1
set @sql = 'update syscolumns
set colid = colid + 1
where id = object_id( ' ' '+@tablename+ ' ' ')
and colid > = '+cast(@colid as varchar(10))
exec(@sql)

--將新列列號復位
set @sql = 'update syscolumns
set colid = '+cast(@colid as varchar(10))+ '
where id = object_id( ' ' '+@tablename+ ' ' ')
and name = ' ' '+@colname + ' ' ' '
exec(@sql)
--------------------------------------------------
--關閉修改系統表的開關
EXEC sp_configure 'allow updates ',0 RECONFIGURE WITH OVERRIDE
go