当前位置:首页 » 编程语言 » sql参数替换
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql参数替换

发布时间: 2023-06-08 17:09:32

sql语句替换某个字段中的值怎么写

SQL SERVER的使用了REPLAcE将某一列字段中的某个值替换为其他的值,主要的代码可以参考以下:


SQL SErVER将某一列的字段中的某个值替换为其他的值,


Update 的表名 set 的列名 = REPLaCE( 列名 ,'aa','bb'),


SQl SERVER"的函数 replace 的参数 1 的数据的类型 Ntext 无效"解决办法。


UPDAtE 的表名 SET的列名= REPlACE(CAST 的列名 AS Varchar(8000)),“aa”,”bb”)。

② sql如何对某个字段做字符替换

REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。

语法
REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )

参数
'string_expression1'

待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。

'string_expression2'

待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。

'string_expression3'

替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。

返回类型
如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。

示例
下例用 xxx 替换 abcdefghi 中的字符串 cde。

SELECT REPLACE('abcdefghicde','cde','xxx')
GO

下面是结果集:

------------
abxxxfghixxx
(1 row(s) affected)

③ sql语句中的替换怎么写

楼主已经说了,单纯的用replace()不行的,我这有个办法,如果楼主这个字段的形式比较固定,比如:

都是XXX-123456789-123就是相同的位都是"-",那么可以这样写SQL语句:

update table_name set fields = substring(fields,1,4)+relace(substring(fields,5,len(fields)),'-','***')

这样就可以只替换后面的"-"符号了。

④ sql修改字段值的范围

1、字段的修改
增加字段
ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件]

对语法格式的说明如下:

1.<表名> 为数据表的名字;

2.<新字段名> 为所要添加的字段的名字;

3.<数据类型> 为所要添加的字段能存储数据的数据类型;

4.[约束条件] 是可选的,用来对添加的字段进行约束。

SQL 默认在表的最后位置添加新字段,如果希望在开头位置(第一列的前面)添加新字段,那么可以使用 FIRST 关键字,语法格式如下:

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;

-- 给actor表首位添加create_date字段
ALTER TABLE actor ADD COLUMN create_date datetime not null DEFAULT '2020-10-01 00:00:00' FIRST;
复制
删除字段
ALTER TABLE <表名> DROP COLUMN <字段名>

-- 将actor_new表的actor_id字段删除
alter table actor_new drop column actor_id;
复制
修改字段
1.修改字段名

ALTER TABLE <表名> RENAME COLUMN A to B

-- 将actor_new表的first_name字段名修改为first_name_new
alter table actor_new rename column first_name to first_name_new;
复制
2.修改字段类型

ALTER TABLE <表名> MODIFY COLUMN <字段名> <类型>

-- 将last_name字段数据类型由varchar(45)修改为char(45)
alter table actor_new modify column last_name char(45) not null;
复制
3.修改字段默认值

ALTER TABLE <表名> ALTER COLUMN <字段名> SET DEFAULT <默认值>

若字段有默认值,则需要先删除字段的约束,在添加新的默认值

根据约束名称删除约束

alter table <表名> alter column <字段名> drop default

-- 若本身存在默认值,则先删除
alter table actor_new alter column last_name drop default;
-- 给last_name添加默认值'洛'
alter table actor_new alter column last_name set default '洛';
复制
4.修改字段位置

将字段的位置修改为数据表的开头位置,使用FIRST关键字将当前字段修改为数据表的第一个字段

ALTER TABLE <表名> MODIFY <字段名> <数据类型> FIRST

-- 将字段first_name调整到actor表的首位
ALTER TABLE actor modify first_name varchar(45) FIRST;
复制
将选中字段修改到某字段之后

ALTER TABLE <表名> MODIFY <字段1名称> <字段1数据类型> AFTER <字段2名称>

-- 将字段first_name调整到last_name之后
ALTER TABLE actor MODIFY first_name varchar(45) AFTER last_name;
复制
2、数据的修改
增加数据
添加数据在SQL篇-创建数据表中有粗略的介绍,这里进行详细说明

1.插入一条新的数据 INSERT INTO <表名>[(列1,列2,列3,…)]VALUES(值1,值2,值3,…)

-- 插入数据的sql语句
insert into tablename(col1,col2,col3) values (value1,value2,value3);
复制
2.通过子查询插入数据 INSERT INTO <表名>[(列1,列2,列3,…)]子查询

-- 把actor_id=10的用户复制一遍
insert into tablename SELECT * FROM actor WHERE actor_id=10;
复制
删除数据
DELETE FROM <表名> [WHERE 删除条件]

注意:不写删除条件表示删除全部!

-- 删除演员编号是6的演员信息
delete from actor WHERE actor_id=6;
复制
更新数据
1.指定要更新数据的内容

UPDATE <表名> SET [字段=值,字段=值…][WHERE 更新条件]

-- 将SMITH(雇员编号为7)的工资修改为3000元,并且每个月有500元的奖金
update myemp set sal=3000,comm=500 where empno=7;
2.基于子查询的更新

UPDATE <表名> SET (列1,列2,…)=(SELECT 列1,列2,…FROM <表名>) [WHERE 查询条件]

-- 将雇员7369的职位、基本工资、雇佣日期更新为与7839相同的信息
update myemp set (job,sal,hiredate) = (select job,sal,hiredate from myemp where empno=7839) where empno=7369;
3.更新替换

-- 将address字段里的 “东” 替换为 “西” ,如下
update test_tb set address=replace(address,'东','西') where id=2
4.插入替换

-- 将id=6的name字段值改为wokou
replace into test_tb VALUES(6,'wokou','新九州岛','日本')
注意:插入替换时,若进行部分替换,则表其余字段要有默认值,否则,要列出该列的所有值

总结:向表中“替换插入”一条数据,如果原表中没有id=6这条数据就作为新数据插入(相当于insert into作用),
如果原表中有id=6这条数据就做替换(相当于update作用),对于没有指定的字段以默认值插入。

⑤ sql server中对字段使用正则表达式替换

sql
server中对字段使用正则表达式替换?
.replace(num,
'\d','#')