sql替換語句,用該命令可以整批替換某字段的內容,也可以批量在原字段內容上加上或去掉字符。
命令總解:update 表的名稱 set 此表要替換的字段名=REPLACE(此表要替換的字段名, '原來內容', '新內容')
如 UPDATE Whir_ProductRelese SET ReleseName=REPLACE(ReleseName,'aa','bb')
舉例說明:
1)把backupfile表里url的字段內容里為aa的字符全部改為bb。
update backupfile set url=REPLACE(url,'aaa','bbb)
2)根據條件增加字段的內容,如把file_number=1的記錄的logical_name字段的內容前面加上tmp,后面加上end。
update backupfile set logical_name=REPLACE(logical_name,logical_name,'tmp'+logical_name+' end ') where file_number=1
3)根據條件去掉指定記錄的前面2個字符。
update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,3,len(logical_name)-2)) where file_number=1
4)根據條件去掉指定記錄的后面4個字符。
update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,1,len(logical_name)-4)) where file_number=2
如有不清楚的可以先用select語句驗證是否達成自己想要的效果再進行替換:
SELECT REPLACE(替換字段,'原內容','新內容') from 表名;
update 表名 set 替換字段=(REPLACE(替換字段,'原內容','新內容'))
5) 批量新增數據,把A表數據批量查出並添加到A表中
insert into [dbo].[T_Channel_banklist](C_ID,Name,State) (select C_ID,Name,1 from [T_Channel_banklist] where C_id=1101)
查詢上一條下一條
--如:(正序)當前MenuID=2,那么上一條則是1(ORDER BY MenuID ASC),下一條是3(ORDER BY MenuID DESC)
--正序(1,2,3)
--上一條
SELECT TOP 1 * FROM tbl_SoleHome_Menu WHERE MenuID>2 ORDER BY MenuID ASC
--當前
SELECT TOP 1 * FROM dbo.tbl_SoleHome_Menu WHERE MenuID=2
--下一條
SELECT TOP 1 * FROM tbl_SoleHome_Menu WHERE MenuID<2 ORDER BY MenuID DESC
--倒序(3,2,1)
--上一條
SELECT TOP 1 * FROM tbl_SoleHome_Menu WHERE MenuID<2 ORDER BY MenuID DESC
--當前
SELECT TOP 1 * FROM dbo.tbl_SoleHome_Menu WHERE MenuID=2
--下一條
SELECT TOP 1 * FROM tbl_SoleHome_Menu WHERE MenuID>2 ORDER BY MenuID ASC