必威体育Betway必威体育官网
当前位置:首页 > IT技术

SQL server 2008 学习笔记(一)

时间:2019-07-18 02:14:37来源:IT技术作者:seo实验室小编阅读:83次「手机版」
 

sql server 2008

数据库的基本操作分类:

1、数据库的查询及查询语句;

2、数据库数据修改;

select    union

单独数据的查询:

"%":表示任意0个或多个字符

  oraclesqlserver  mysql  
  支持  支持  支持

Select * from 表名 where 列名 like '%' //查询出全部   

Select * from 表名 where 列名 like 'x' //完全匹配查询  

Select * from 表名 where 列名 like '%x' //右为x,前面可以有任意位字符  

Select * from 表名 where 列名 like 'x%' //左为x,后面可以有任意位字符  

Select * from 表名 where 列名 like '%x%' //中间为x,左右都可以有任意位字符 

例如:

SELECT * FROM  xxxxxx(表名)

where xmba1(列名) like  '%${xmmc}%'

"_":表示单个字符

  oraclesqlserver  mysql  
  支持  支持  支持

Select * from 表名 where 列名 like '_x' //右为x,前面有一位字符 

Select * from 表名 where 列名 like '__x'  //右为x,前面有两位位字符  

Select * from 表名 where 列名 like 'x__'  //左为x,后面有两位位字符 

"[]":表示括号内所列字符中的一个

指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。

注:如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”

1)sqlserver

Select * from 表名 where 列名 like '[张李王]三' //将找出“张三”,“李三”,“王三”(而不是“张李王三”);  

Select * from 表名 where 列名 like  '老[1-9]' //将找出“老1”,“老2”,……,“老9”;  

2)oracle

select * from 表名 where regexp_like(列名,'[张李王]三') 

3)mysql

select * from 表名 where 列名 rlike '[张李王]三' 

select * from 表名 where 列名 regexp '[张李王]三'  

  oraclesqlserver  mysql  
  不支持  不支持  支持

"[^]":表示不再括号列中的单个字符

其取值与[]相同,但它要求所匹配对象为指定字符意外的任一字符。

1)sqlserver

Select * from 表名 where 列名 like '[^张李王]三' //将找出不姓“张”,“李”,“王”的“赵三”,“孙三”等;

Select * from 表名 where 列名 like '老[^1-4]';  //将排除“老1”到“老4”,寻找“老5”,“老6”、……  

特殊字符模糊查询

当要查询的字符串包含通配符的时候,可以采用下面的方法来查询

1)sqlerver

用[ ]将特殊字符包含:select * from 表名 where 列名 like '_[%]_'  

注:ACCESS的模糊查询比较特殊是'?','*' 。 如 Select * from 表名 where 列名 like '*b*'

二、

将数据集ds1的sql语句修改为:SELECT * FROM 订单 where 1=1${if(len(area) == 0,"","and 货主地区 = '" + area + "'")}

注:where 1=1表示条件永真,防止没有之后的参数条件时,where多出而导致出错;len(area)==0表示参数area为空;"and 货主地区='"+area+"'" 中间的area表示取参数值,'+' 为字符串拼接符号。

${if(len(area) == 0,"","and 货主地区 = '" + area + "'")} 表示若参数area为空就不进行过滤,若不为空则货主地区等于参数值。

此处参数名area与参数面板中添加的下拉框控件area控件名一致,即将参数控件与数据集参数绑定到一起,实现参数的过滤。

通过报表参数编辑

1)双击A2单元格,选择过滤按钮,给A2单元格增加过滤条件:货主地区等于公式:if(len($area)==0,nofilter,$area)

注:nofilter表示不过滤,if(len($area)==0,nofilter,$area)表示参数area为空,就不过滤,若不为空则以参数值进行过滤;if(len($province)==0,nofilter,$province)意义相同。

参数联动,就是指后面一个参数下拉框的值会根据前一个参数的值的改变而改变。如下图中,省份选项会跟随地区选项而相应变动。

新建ds1数据集:select * from 订单  where 货主地区='${地区}' and 货主省份='${省份}',查询订单表,设置两个查询条件地区和省份,如下图:

增加参数

打开模板>模板参数,定义一个参数名为std的参数。

3.3 下拉框显示值设置

切换到参数界面窗口,使用默认的参数界面,设置std参数的控件类型为下拉框,数据字典为数据查询,数据集名称选择ds1,实际值为序号,显示值使用公式表示:$$$ + " "+ VALUE("ds1",1,2,$$$,1)+" "+ VALUE("ds1",3,2,$$$,1),如下图所示:

注:VALUE("ds1",1,2,$$$,1)返回VALUE("ds1",3,2,$$$,1)数组的第1个值,找出对应学号的班级和学生姓名信息。

相关函数说明:

$$$ :当前单元格的实际值;

VALUE("ds1",1,2,$$$,1):返回ds1中第1列中的元素,这些元素对应的第2列的值为$$$。

VALUE("ds1",3,2,$$$,1):返回ds1中第3列中的元素,这些元素对应的第2列的值为$$$。 

最后一个参数说明:值小于0时,会取数组的第一个值,值大于数组长度时,会取数组的最后一个值,最后将这些结果拼接成字符串。

相关阅读

安装MySQL时提示安装mysql提示 This application req

遇到这种问题是电脑里面没有安装这个 .NET Framewor   ,Microsoft .NET Framework是用于Windows的新托管代码编程模型。安装一

plsql 注册码

plsql下载地址 https://www.allroundautomations.com/bodyplsqldevreg.html 12.0.3.1821 64bit: 注册码: Product Code(产品编号):jt

【mysql基础系列十八】触发器

基本概念触发器(trigger)是一种特殊类型的存储过程。它主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接

SQL server 2008 r2 安装图文详解

文末有官网下载地址、百度网盘下载地址和产品序列号以及密钥,中间需要用到密钥和序列号的可以到文末找 选择网盘下载的下载解压后

jsp servlet mysql实现的新闻发布管理系统项目源码附

今天给大家演示一下一款由jsp servlet mysql实现的新闻发布管理系统,主要实现了前台游客浏览新闻、评论新闻,后台管理员管理新闻等

分享到:

栏目导航

推荐阅读

热门阅读