在SQL数据库表中添加一列数值型(默认保留2位)的数字,该怎么写

在SQL数据库表中添加一列数值型(默认保留2位)的数字,该怎么写,第1张

思路大概是这样:

实用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函数截取一下就可以了。

一般为空都用null表示,所以一句sql语句就可以。

select  from 表名 where 日期字段 is null;

这里要注意null的用法,不可以用=null这样的形式表示。

测试:

创建表插入数据:

  

create table test(id int,insert_date datetime) insert into test values (1,GETDATE())insert into test values (2,null)

执行:

select  from test where insert_date is null;

结果:

如果写成=null,则没有结果。

如:

看你什么数据库了

每种数据库的方式不太一样的

给你sqlserver的方法

select 

课程名称,学分

from 表

where left(课程名称,3)='计算机'

and right(课程名称,2)='基础'

一个是程序语言中的trim()方法可以去掉空白,一个是数据库中的rtrim(col)可以去掉空白

char类型一般是定长数据,如果变长的话不足位用空白补,所以如果变长应该用varchar类型

SQL语句 select 课程名称,学分 from Table where LEFT(课程名称,3)=‘计算机’ and RIGHT(RTrim(课程名称),2)=‘基础’ LEFT(课程名称,3) 在课程名称中从左截取3个字符。 RIGHT(RTrim(课程名称),2) 在课程名称中从右截取2个字符。 RTrim(课程名称) 去掉课程名称字段中的空格

rim、Ltrim及Rtrim函数完成将字符串中的一部分或全部空格去掉。Trim去掉字符串中的全部空格,Ltrim去掉字符串中起始的空格,而Rtrim将字符串末尾的空格都去掉,例如:

Dim A,B As String

A=" hello " '初始化字符串

B=Trim(A) 'B="hello"

B=Ltrim(B) 'B="hello "

B=Rtrim(B) 'B=" hello"

去掉回车和换行符可通过replace函数,并找出Oracle的回车和换行的ascii码来去掉。

如图:test表中str字段数据内容如下:

执行以下语句,去掉回车和换行符。

回车,ASCII码13

换行,ASCII码10

所以,语句为:

update test set str=replace(replace(str,chr(10)),13);

结果为:

以上就是关于在SQL数据库表中添加一列数值型(默认保留2位)的数字,该怎么写全部的内容,包括:在SQL数据库表中添加一列数值型(默认保留2位)的数字,该怎么写、数据库 日期列带空格怎么查询时间、在数据库中,怎么查询以'计算机'开头,'基础'结尾的课程名称,学分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9512979.html

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

发表评论

登录后才能评论

评论列表(0条)

保存