sybase数据库的“like”用法是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sybase数据库的“like”用法是啥?相关的知识,希望对你有一定的参考价值。
想在SQL LIKE里查询有下划线'_'或是'%'等值的记录,直接写成like 'XXX_XX',则会把'_'当成是like的通配符。
SQL里提供了 escape子句来处理这种情况,escape可以指定like中使用的转义符是什么,而在转义符后的字符将被当成原始字符,这和C里的'\\'很像,但是escape要求自定义一个转义符,而不是指定了'\\’字符。
美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。 Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。
系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的PowerBuilder为开发工具,在我国大中型系统中具有广泛的应用。
参考技术A 想在SQL LIKE里查询有下划线'_'或是'%'等值的记录,直接写成like 'XXX_XX',则会把'_'当成是like的通配符。SQL里提供了 escape子句来处理这种情况,escape可以指定like中使用的转义符是什么,而在转义符后的字符将被当成原始字符,这和C里的'\'很像,但是escape要求自定义一个转义符,而不是指定了'\’字符。如:
select * from user_all_tables where table_name like 'YW__%' escape '_'
含义是查出当前用户表下所有以'YW_'开头的表,其中第一个'_'是转义符,第二个是被转义的字符,等效可以写成:
select * from user_all_tables where table_name like 'YW\_%' escape '\'
sybase表结构导出方法
sybase ASE自带了一个导出对象结构的命令行工具:ddlgen
比较详细的用法,请参照:用DDLGEN从ASE数据库中提取对象的定义语法
如果对象结构中包含中文,使用参数: -Jcp936
比较实用的用法如下:
1、导出数据库tpchdb内所有表的表结构(包括索引):
ddlgen -Usa -Psybase123456 -STEST -Dtpchdb -TU -N%.% -Jcp936 -O./tables.sql
2、导出数据库tpchdb内所有视图的创建语法:
ddlgen -Usa -Psybase123456 -STEST -Dtpchdb -TV -N%.% -Jcp936 -O./views.sql
3、导出数据库tpchdb内所有存储过程的创建语法:
ddlgen -Usa -Psybase123456 -STEST -Dtpchdb -TP -N%.% -Jcp936 -O./procs.sql
4、只导出表结构(不包含索引):
ddlgen -Usa -Psybase123456 -STEST -Dtpchdb -TU -N%.% -FI -Jcp936 -O./tables.sql
5、仅仅导出表上的索引的语法:
ddlgen -Usa -Psybase123456 -STEST -Dtpchdb -TI -N%.% -Jcp936 -O./indexes.sql
注意常见的对象类型:
I --- 索引
U ---- 表
TR --- 触发器
P --- 存储过程
V --- 视图
以上是关于sybase数据库的“like”用法是啥?的主要内容,如果未能解决你的问题,请参考以下文章