REGEXP_REPLACE(voh.签收专员,".*中心",""
时间: 2023-07-21 09:02:45 浏览: 44
你可以使用以下正则表达式替换函数来实现你的需求:
```
REGEXP_REPLACE('voh.签收专员', '.*中心', '')
```
这个函数将会替换字符串中匹配正则表达式`.*中心`的部分为空字符串,也就是将其删除。在这个例子中,`voh.签收专员`将会被替换为一个空字符串。
请注意,这只是一个示例,实际使用时你需要将函数和表达式适配到你的具体需求和数据库系统中。
相关问题
Oracle数据中的Regexp_*的大概用法(正则表达式)REGEXP_LIKE、REGEXP_INSTR 、REGEXP_SUBSTR 、REGEXP_REPLACE...
Oracle数据库中的Regexp_*函数系列是用于正则表达式操作的函数,下面是它们的大概用法:
1. REGEXP_LIKE:判断一个字符串是否符合正则表达式的模式。
语法:REGEXP_LIKE(string, pattern, match_parameter)
示例:SELECT '123' FROM DUAL WHERE REGEXP_LIKE('123', '^[0-9]+$');
2. REGEXP_INSTR:查找一个字符串中符合正则表达式模式的子串的起始位置。
语法:REGEXP_INSTR(string, pattern, position, occurrence, match_parameter)
示例:SELECT REGEXP_INSTR('hello world', 'world', 1, 1, 0) FROM DUAL;
3. REGEXP_SUBSTR:从一个字符串中提取符合正则表达式模式的子串。
语法:REGEXP_SUBSTR(string, pattern, position, occurrence, match_parameter)
示例:SELECT REGEXP_SUBSTR('hello world', '[a-z]+', 1, 1, 'i') FROM DUAL;
4. REGEXP_REPLACE:用一个新的字符串替换一个字符串中符合正则表达式模式的子串。
语法:REGEXP_REPLACE(string, pattern, replace_string, position, occurrence, match_parameter)
示例:SELECT REGEXP_REPLACE('hello world', '\b(\w+)\b', '[\1]', 1, 0, 'i') FROM DUAL;
其中,match_parameter 参数是用于指定匹配模式的参数,包括:
- i:大小写不敏感
- c:大小写敏感
- m:多行模式
- n:单行模式
- x:忽略空格和注释
这些函数可以非常方便地进行正则表达式的操作,提高了数据处理的灵活性和效率。
#!/bin/sh sleep 180 hive -e "select day_id, regexp_replace(work_order_id, '\\\\t', ''), regexp_replace(order_assess_id, '\\\\t', ''), regexp_replace(contact_type, '\\\\t', ''), regexp_replace(scene_type, '\\\\t', ''), regexp_replace(assess_mode, '\\\\t', ''), regexp_replace(join_mode, '\\\\t', ''), regexp_replace(mobile_phone, '\\\\t', ''), regexp_replace(complaint_phone, '\\\\t', ''), regexp_replace(check_assess_result, '\\\\t', ''), regexp_replace(date_format(assesssendtime, 'MM/dd/yyyy HH:mm:ss'), '\\\\t', ''), regexp_replace(date_format(usersubtime, 'MM/dd/yyyy HH:mm:ss'), '\\\\t', ''), regexp_replace(is_evaluation, '\\\\t', ''), regexp_replace(issolve, '\\\\t', ''), regexp_replace(check_assess_score, '\\\\t', ''), regexp_replace(reason, '\\\\t', '') from db_dws_jt.dws_jscp_result_bus43032 where day_id='${begin_date}';" > /data1/u_eda_lx_grp01/wwd/in_2010/dws_db_dws_in_2012_touch_10000_d.dat sed -i 's/NULL//g' /data1/u_eda_lx_grp01/wwd/in_2010/dws_db_dws_in_2012_touch_10000_d.dat sed -i 's/\t/|@|/g' /data1/u_eda_lx_grp01/wwd/in_2010/dws_db_dws_in_2012_touch_10000_d.dat sleep 120 ftp -i -n<<! open 10.7.6.118 user infaope Dc27-Fhna bin cd /ftpdata/receive/eda_in/in_2010/ lcd /data1/u_eda_lx_grp01/wwd/in_2010 prompt put dws_db_dws_in_2012_touch_10000_d.dat close bye ! 这段代码什么意思
这段代码是一个Shell脚本,功能类似于上面的例子。它将从Hive表中查询指定日期的数据,并将结果导出到文件,然后通过FTP上传到远程服务器。
首先,脚本暂停执行180秒。
接下来,使用Hive命令从表`db_dws_jt.dws_jscp_result_bus43032`中查询指定日期的数据,并将结果输出到文件`/data1/u_eda_lx_grp01/wwd/in_2010/dws_db_dws_in_2012_touch_10000_d.dat`。
在查询结果中,使用`regexp_replace`函数对各个字段进行处理,将其中的制表符替换为空格。
然后,使用`sed`命令对文件进行处理,将其中的NULL字符串替换为空格,并将制表符替换为特殊字符串"|@|"。
然后,脚本再次暂停执行120秒。
最后,使用FTP命令连接到远程服务器,通过用户名和密码进行验证。然后切换到指定目录`/ftpdata/receive/eda_in/in_2010/`,设置本地目录为`/data1/u_eda_lx_grp01/wwd/in_2010`,启用被动模式。接着,将文件`dws_db_dws_in_2012_touch_10000_d.dat`上传到远程服务器。最后,关闭FTP连接。
这段代码的作用是将Hive表中指定日期的数据导出到文件,并通过FTP上传到远程服务器。