trim(name)
如果你要把表里某字段所有数据的空格都去掉的话。可以执行下面的SQL:
1:update table1 a set a.字段=a.trim(a.字段); //去掉字段前面嫌喊饥后渗培后面的空格
2: update table1 a set a.字芹返段=replace(a.字段,' ',''); //去掉字段所有的空格(包括前、中、后)
备注:别忘记点“提交”或执行commit;
思路大概是这样:
实用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函数截取一亮毕闷下就可以了。
ltrim(name),rtrim(name)
这两个函数可以去左空格和右空格
DECLARE @name VARCHAR(50)
SET @name = ' 阿肆携斯大雹颂滚郑 '
SELECT LTRIM(RTRIM(@name))
1:update table1 a set a.字段=trim(a.字段); //去掉字历链段前面后后面的肢配孙卖祥空格