在sql数据库中将商品表中商品号前两位编号为10的商品的单价修改为出厂单价的0.1。怎么做

在sql数据库中将商品表中商品号前两位编号为10的商品的单价修改为出厂单价的0.1。怎么做,第1张

表名:tb_goods

单价:price

编号:no

update tb_goods set price=price01 where no like '10%';

sql中,使用LEFT函数即可取到字符串的前几位。

LEFT(c, number_of_char)用于返回某个被请求的文本域的左侧部分,其中c代表被请求的文本域,number_of_cha代表需要取出的字符串位数。如“LEFT("zhidaobaiducom", 6)”即可取得字符串"zhidao"。

扩展资料:

sql中,常用函数介绍:

1、AVG():返回平均值

2、COUNT():返回行数

3、FIRST():返回第一个记录的值

4、LAST():返回最后一个记录的值

5、MAX():返回最大值

6、MIN():返回最小值

7、SUM():返回总和

8、UCASE():将某个字段转换为大写

9、LCASE():将某个字段转换为小写

10、MID():从某个文本字段提取字符

11、LEN():返回某个文本字段的长度

12、ROUND():对某个数值字段进行指定小数位数的四舍五入

13、NOW():返回当前的系统日期和时间

14、FORMAT():格式化某个字段的显示方式

15、INSTR():返回在某个文本域中指定字符的数值位置

16、LEFT():返回某个被请求的文本域的左侧部分

17、RIGHT():返回某个被请求的文本域的右侧部分

参考资料来源:百度百科-SQL函数

思路大概是这样:

实用ltrim或者rtrim函数去掉左边或右边符合条件的字符。

如果是oracle环境,看你这里都是字母在前数字在后的格式,假设旧列叫 col_old,新的字母列是col_str,新的数字列是col_num

update table1 set

col_str=rtrim(col_old,'1234567890'),

col_num=to_number(ltrim(col_old,rtrim(col_old,'1234567890')))

sql server 有没有这个函数不知道了,反正这是一个思路吧。供参考而已

sql没有这个东西,那我就给你提个思路吧,语句你自己写了,我没有环境。

用ASCII码和sql的ltrim和rtrim来做,你需要循环找到从左起每个字符都是ASCII>=65(9以上即字母)的,直到找到ASCII<=64的就结束,这样可以把这个字符部分的长度得到,在用trim函数截取一下就可以了。

假设A列数据均为5位数,建立辅助列B,在B列提取A列数据的后三位;

1、在B2单元格输入公式:=RIGHT(A2,3)  回车

见图一

2、选中B2单元格,下拉填充B列,实际结果:

见图二

可以这样写

alter table table1 add constraint chk_col check(

len(col1)= 8 and

left(col1,2) = '00' and

substring(col1,3,1) like '[1-9]' and

substring(col1,4,1) like '[1-9]' and

substring(col1,5,1) = '_' and

substring(col1,6,1) like '[A-Z]' and

substring(col1,7,1) like '[A-Z]' and

substring(col1,8,1) like '[A-Z]' );

以上就是关于在sql数据库中将商品表中商品号前两位编号为10的商品的单价修改为出厂单价的0.1。怎么做全部的内容,包括:在sql数据库中将商品表中商品号前两位编号为10的商品的单价修改为出厂单价的0.1。怎么做、sql 怎么取 字符串的前几位、在SQL数据库表中添加一列数值型(默认保留2位)的数字,该怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9294771.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存