判断一个字符串包含几个 {变量}
length(BOM.PATH) - length(replace(BOM.PATH,’|’,’’)) = #{ucHierarchy,jdbcType=DECIMAL}
**
修改表结构-新增字段,添加注释
alter table BOM_PART_POSITION add (GX_ENGINEER NVARCHAR2(40));alter table BOM_PART_POSITION add (TECH_DEPT NVARCHAR2(40));comment on column BOM_PART_POSITION.GX_ENGINEER is'广新工程师';comment on column BOM_PART_POSITION.TECH_DEPT is'技术中心科室';alter table sf_InvoiceApply modify (BILLCODE number(4));alter table sf_users drop column HeadPIC;alter table sf_InvoiceApply rename column PIC to NEWPIC;alter table sf_InvoiceApply rename to sf_New_InvoiceApply;
模糊匹配,不区分大小写
SELECT *FROM BOM_COMMON_COLUMN CWHERE REGEXP_LIKE(C.TABLENAMEID, 'xx', 'i')-- 将字段与匹配条件都转换为大写或者小写再进行查询即可-- 转为大写SELECT * FROM Student s WHERE upper(s.name) LIKE upper('%Red%')-- 或者转为小写SELECT * FROM Student s WHERE lower(s.name) LIKE lower('%Red%')
| 值 | 描述 |
|---|---|
| ‘c’ | 执行区分大小写匹配。 |
| ‘i’ | 执行不区分大小写的匹配。 |
| ‘n’ | 允许句点字符(.)与换行符匹配。 默认情况下,句点是通配符。 |
| ‘m’ | 表达式假定有多个行,其中^是行的开始,$是行的结尾,不管表达式中这些字符的位置如何。默认情况下,表达式假定为单行。 |
| ‘x’ | 忽略空格字符。默认情况下,空格字符与任何其他字符一样匹配。 |
表格来源 作者:易百教程 链接:https://www.jianshu.com/p/dcf2be130108 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
删除 隐藏责任工程师工号
DELETE FROM BOM_COMMON_COLUMN CWHERE REGEXP_LIKE(C.TABLENAMEID, 'engineerInchargeId', 'i')DELETE FROM BOM_COMMON_COLUMN CWHERE REGEXP_LIKE(C.Lablenameid, 'engineerInchargeId', 'i')
修改排序:
UPDATE BOM_COMMON_COLUMN SET COLUMNSORT = '8' WHERE ID = 'bomPartEPosition6';UPDATE BOM_COMMON_COLUMN SET COLUMNSORT = '6' WHERE ID = 'bomPartEPosition8';
-- 主键select sys_guid() from dual
问题收集部分:
1. ORA-01791: 不是 SELECTed 表达式
Oracle 9i数据库,执行下面语句出现错误“ORA-01791: 不是 SELECTed 表达式”:select distinct t.name from auth_employee t order by t.auth_employee_id asc
原来:SELECT语句中含有**DISTINCT**关键字或者有运算符时,_排序用字段必须与SELECT语句中的字段相对应_。<br /> 网上搜到解释如下:在ORDER BY中指定多个列,结果将先按照子句中的第一列排序,然后第二个,依此类推。 <br />在SELECT中未出现的列名也可用于ORDER BY 子句中,只要TABLE中有就行。但如果SELECT子句中出现了DISTINCT关键字,则只能用出现过的列名,而且如果SELECT子句中使用了任何运算符,在ORDER BY 子句中必须保持和SELECT子句中表达式完全一致,否则出现错误:“ORA-01791: 不是 SELECTed 表达式”。
