最近在和一个公司合作项目,有部分链接是由他们公司提供的,由于当时还没有申请域名,直接提供给我们的是ip地址,现在正式上线后,需要我们将原来的ip地址替换为域名,如果一个个替换起来特别麻烦,而且可能出现问题,因此找了下oracle中sql批量替换的功能,使用起来太方便了,在这里记录下,便于以后查找。具体使用说明如下:
update tablename set columnName= replace(columnName,srcStr,destStr) where myField like '%srcStr%'
tablename 表名
columnName 需要替换的字段名
srcStr 需要被替换的特定字符
destStr 需要替换成的字符
如:
将ncs_busichange_org_conf 表中,busidetailinfo字段中的“http://3g.sina.com.cn/”替换为:http://www.baidu.com/
sql如下:
update ncs_busichange_org_conf t set t.busidetailinfo=replace(busidetailinfo,'http://3g.sina.c ......
SQL> select * from dept where deptno=&tt;
Enter value for tt:20
DEPTNO DNAME LOC
------ -------------- -------------
10 ACCOUNTING NEW YORK
这样无论输入多少次tt的值,系统只建立一个执行计划,提高了执行的效率。
而普通直接给值的写法要每次都建立一个执行计划 ......
之前使用PLSQL,都是以写入内容为主,写入中文内容偶有乱码,但是只在显示上并未影响存取,所以没有在意。
今天在修改一个视图时,需要将修改内容记录下来,so,想写个修改记录,就把视图内容拷贝了出现,发现拷贝出现的中文内容出现乱码。
并未完全在意,以为只要原样放回plsql就会好的,但是保存再取出放到plsql中发现仍然是乱码。。。
所以就查资料找到一个临时解决方法,分享给大家:
在输入法设置中,删除英文的美式键盘模式,添加中文键盘模式并且设置为默认值就ok了! ......
情景一:
表中数据
name score
aaa 11
aaa 19
bbb 12
bbb 18
ccc 19
ddd 21
期望查询结果如下
name score
aaa 30
bbb 30
ccc 19
ddd 21
Sql代码
---检查表是否存在
if exists(select * from sysobjects where name='testSum')
drop table testSum
go
---创建表
create table testSum
(
tid int primary key identity(1,1),
tname varchar(30) null,
tscor int null
)
go
insert into testSum (tname,tscor)
select& ......
背景:
sql select top N 语句是一个非常重要的语句, 在实现分页查询中是不可或缺的. 由于分页查询通常涉及含有大量记录的表, 并且是为大量用户分享的任务,因此,对其进行优化是很有意义的。
实现sql top N 的功能有几种变种:
1. set rowcount @n; select ... order by somefields
2. select top (@n) .... order by somefields
3. select top (xx) .... order by somefields
-- 其中 xx是一个常数, 比如10
在上述的查询中引用的somefields, 如果涉及的表在其上有索引是一种情况, 没有索引又是一种情况。
有索引的话,即使表含有很多记录,也不会对性能造成太大问题。
没有索引的情况也是会有实际需求的,比如实时的找出销售最好的前100个产品。在没有索引时的查找Top N, 如果不进行细致的优化,会对性能造成很大的影响,甚至会使得整个系统瘫痪。
如果要对top n进行优化,那么了解sql server 是如何处理上述的top n 的几种变形就是很有必要的. 下面的文章是我在MS的论坛上发的, 我自己懒得翻译成中文了,和大家共享一下吧。
原文(是我在http://social.msdn.microsoft.com/Forums/en/transactsql/t ......
在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。
在SQL Server 中每个变量、参数、表达式等都有数据类型。系统提供的数据类型分为几大类,如表4-2 所示。
其中,BIGINT、 SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型。下面分类讲述各种数据类型。
一、 整数数据类型
整数数据类型是最常用的数据类型之一。
1、INT (INTEGER)
INT (或INTEGER)数据类型存储从-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147
,483,647) 之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31
位表示整数值的长度和大小。
2、SMALLINT
SMALLINT 数据类型存储从-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。
3、TINYINT
TINYINT数据类型存 ......