【急】sql 语句查询字段A 根据分隔符截取字符串 得到一个新的字段S,然后修改另一个字段B,把S赋值给B

作者&投稿:贺阀 (若有异议请与网页底部的电邮联系)
linux 以"为分隔符提取截取出字段按照出现次数排序~

思路 将分隔符换成
回车符 每个字段做一行 用sort排序 然后 uniq -c求和:
sed 's/ /
/g' xxx.txt |sort|uniq -c

update table_name set col_name = rtrim(col_name2,4)


可以利用rtrim(),或者ltrim() 这两个取左边或者右边

还有substring() 这个可以截取字符串

declare @str varchar(1000)
declare @functionName varchar(100)
set @str = '/广东电网公司/广东电网公司电力调度通信中心/通信设施/1743视图/1745通信主站/通信机房1/基础'
--select charindex('/',reverse(@str)), charindex('/',reverse(@str),charindex('/',reverse(@str))+1)
set @functionName = reverse(substring(reverse(@str),charindex('/',reverse(@str))+1, charindex('/',reverse(@str),charindex('/',reverse(@str))+1) - charindex('/',reverse(@str)) - 1 ))
select @functionName

以上语句是返回倒数第二个'/'和最后一个'/'之间的字符串的写法
把这个语法根据你的需要整理成函数就可以。

把function_name字段设成full_name字段的倒数第二个/和最后一个/之间的值:
update PROD_FL_DEVICE set functionname=REVERSE(substring(REVERSE(full_name), charindex('/', REVERSE(full_name), 0) + 1, charindex('/', REVERSE(full_name), charindex('/', REVERSE(full_name), 0) + 1) - charindex('/', REVERSE(full_name), 0) - 1))

如你例子里的数据, 取到的是 "通信机房1"

我想问下 full_name 就这一个值 还是很多 值 还没有规律
如果就这一个值
可以用
用substring(z,a,lenth)这个函数


海兴县17861329349: 在SQL中,我要根据字段a、字段b、字段c、任意一个字段来查询message表中的全部数据应该怎么写? -
农卞怡玫: select * from message where 字段a like '*xxxx*' or 字段b like '*xxxx*' or 字段c like '*xxxx*'

海兴县17861329349: SQL查询有一个表中有一个字段A,字段A里面有一些记录值.请问这些记录怎么可以使查出来的字段A -
农卞怡玫: select distinct B from (select substring(字段A,0,charindex('__',字段A)) as B,* from 表) as JL

海兴县17861329349: SQL查询某表某字段第一个字母为a,第二个字母为c. SQL将某表的第一个字段的第一个字母,替换 -
农卞怡玫: create table tablename (col1 char(6), constraint ch_col1 check (col1 like '[a-za-z]%') --检查约束,第一个字符允许字母. );

海兴县17861329349: sql按照拼音字段排序,且只查出以字母A开头的所有数据,这个sql应该怎么写 -
农卞怡玫: SQLSERVER数据库可以这样 select * from table_name where left(拼音查询,1)='A' order by 拼音查询

海兴县17861329349: 求SQL: oracle数据库查询语句,查询某用户(如SCOTT)下所有表中,哪张表含有字段A . 不慎感激! -
农卞怡玫: SELECT V.TABLE_NAME FROM SYS.DBA_TAB_COLUMNS V WHERE V.COLUMN_NAME = 'A' AND V.OWNER='SCOTT';

海兴县17861329349: sql语句根据id怎么查询一个字段 -
农卞怡玫: 示例如下: select 字段 from 数据库名称 where id=指定的值

海兴县17861329349: 急!!!从b表中查出来的值是a表中的某一个字段 ,如何用sql语句a表的这个字段
农卞怡玫: 表的ID和字段都会存在系统表中的记录里,你可以读取出来: 一.获取表ID:SELECT object_id('a') 二.获取表a中的字段:SELECT [name] FROM syscolumns WHERE id=object_id('a') 三.用你上面从b表中读取出来的字段看看是否在第二步中读取出来的a表中的字段中,这样就取出来了b表中字段在a表中的字段了: SELECT [name] FROM syscolumns WHERE id=object_id('a') AND name IN (select zdm from b where node_id=11)

海兴县17861329349: 求SQL语句根据字段分组 -
农卞怡玫: 首先,使用下面语句: select date, count(date) cnt from user where date is not null group by date 结果: date cnt1月 22月 23月 1在上面语句基础上改进,使之与要求结果一致: select max(case when date = '1月' then cnt else 0 end ) 1月,...

海兴县17861329349: 按照某一字段查询的sql语句怎么写 -
农卞怡玫: select * from 表名 where 字段 ='字段值'

海兴县17861329349: sql 中如何查询一个字段符合两个条件 -
农卞怡玫: sql中如何查询一个字段符合两个条件的方法. 如下参考: 1.在计算机中,打开Foxtable软件,新建一个表格,如学生评价结果,并输入数据,如下图所示. 2.然后,鼠标左键单击单键攻击菜单下选择[杂项],如下图所示. 3.然后,在菜单列中,左键单击[SQLquery],如下图所示. 4.接下来,在[SQLquery]窗口中选择数据源,如下图所示. 5.然后,在[SQLquery]窗口中,输入SQL查询语句,如下图所示. 6.接下来,在表的预览中,您可以看到通过查询语句显示的数据,如下图所示.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网