① 请教 sql 小技巧
分太少,补分吗?花我好点时间哦
--FETCH NEXT FROM @cur INTO @fname,@type
--WHILE @@FETCH_STATUS = 0
declare @starttime smalldatetime,
@endtime smalldatetime,
@qty real
select @starttime = '2008-8-12',@endtime ='2010-3-6',@qty=790
declare @s smalldatetime,
@e smalldatetime,
@y1 int,
@y2 int,
@i int,
@x real,
@d int,
@q real
set @x =@qty/datediff(d,@starttime,@endtime)
select @y1=year(@starttime),@y2 =year(@endtime),@s=@starttime
set @i = @y1
declare @tb table(s smalldatetime,e smalldatetime,d int,qty1 real)
while @i<=@y2
begin
set @e =convert(smalldatetime,convert(nvarchar(4),@i)+'-12-31')
if @e>@endtime
set @e=@endtime
set @d = datediff(d,@s,@e)
set @q=@d*@x
insert into @tb (s,e,d,qty1)values(@s,@e,@d,@q)
set @i=@i+1
set @s =convert(smalldatetime,convert(nvarchar(4),@i)+'-1-1')
end
select s starttime1,e endtime1,d [year days] ,qty1 from @tb
② 有什么高超的sql开发技巧么
第一步:要满足业务需求,不然的话,再快、再好看的代码都没有任何意义。顶多是个艺术品。
第二步:可维护性要高。我见过3000行无注释,要我优化,结果可想而已。死的心都有了。
第三步:高效,高效这个太难描述了,知道这么回事就行。
第四步:要有一定程度的可扩展性,因为业务会变,代码很难永远都不用修改。预留一些可用于扩展的,对以后修改有帮助。
③ 学习SQL数据库有什么好的技巧
书山有路勤为径。
多学多做就可以,最好通过实际的数据相关的项目来锻炼最好。
④ 常见的sql优化技巧
这要保存好,整理好,这个就是它的优化。
⑤ 请问 SQL创建数据库有几种方法啊
三种方法分别如下:
1、使用向导创建数据库。
2、使用企业管理器创建数据库。
3、使用Transact-SQL的CREATE DATABASE语句创建数据库 。
⑥ 如何手动设置SQL server的最大内存占用
sql server默认是无限制占用内存的,SQL Server 根据服务器的活动来增大或收缩缓冲区高速缓存,以使可用物理内存保持在 4 MB 到 10 MB 之间。
手动设置 SQL Server 内存选项有两种主要方法:
第一种方法,将 min server memory 和 max server memory 设置为同一值。此值与达到该值后分配给 SQL Server 缓冲池的固定内存量相对应。
第二种方法,将 min server memory 和 max server memory 设置成一个内存范围。这种方法在系统或数据库管理员希望配置 SQL Server 实例,同时又要考虑在同一台计算机上运行的其他应用程序的内存需求时很有用。
http://www.cnblogs.com/tannaiyin/archive/2009/04/19/1439077.html
⑦ sql sum函数使用技巧
Select 名称,价钱,Sum(价钱) as 金额 from 表 where year(日期)>2014 group by 名称,价钱;
⑧ 需求SQL的查询语言及技巧内容
首先你要弄清楚SQL有定义语言一般是用CREATE ALTER DROP,例如CREATE TABLE
STUDENT (sname CHAR(8),sex C(2),age INT);还有就是操作语言SELECT
INZERT等 用来查询 插入数据的,还有控制语、会话准则等!
每种语言都有特定的语法慢慢学吧!!
我也刚学不久,我知道的就这些了···
⑨ 3.SQL字符串截取技巧
有时我们会临时写一些SQL脚本来统计一些东西,或者是提供视图或者存储过程给第三方使用。但是有些内容是串联起来存在一个字段中的。
比如:sMZ(民族) sLx(联系方式)
01/汉族 tel:123456/qq:87654321/phone:13812345678
SELECT SUBSTRING('01/汉族',4,2) 汉族
SELECT RIGHT('01/汉族',2) 汉族 --也是一样的
取民族很简单 如果要取手机号phone 就比较麻烦了,因为我们不知道QQ是几位的
或者qq电话可能没有填写了,单纯依靠字段长度截取不了的。
这样就需要变通下了:
SELECT SUBSTRING('tel:123456/qq:87654321/phone:13812345678',
charindex('/phone','tel:123456/qq:87654321/phone:13812345678')+1,1000)
使用charindex获取'/phone'字符的其实位置 嵌套SUBSTRING截取
如果在MySQL中还可以这样:
substring_index('tel:123456/qq:87654321/phone:13812345678', '/', -1)
'phone:13812345678' 截取第一个 '/' (倒数)之后的所有字符
substring_index('tel:123456/qq:87654321/phone:13812345678', '/', 1)
'tel:123456' 截取第一个 '/' 之前的所有字符
⑩ 怎样手动创建自定义SQL的数据窗口需要带检索参数解决方法
我的步骤如下
1,定义一个SQL(q_1),更改这个SQL(右键-编辑源)保存,然后初始化的定义都没有了
2,新建与这个SQL相关的数据窗口就可以了问题:
1,更改的SQL不能带参数,如SELECT ID from st.STU where ID < :li_id
--保存出错
--无法建立与之对应的数据窗口
希望大家看看呀
------解决方案-------------------------------------------------------- 1、你所说的SQL(q_1)是指Query吧?如果是的话,你要改为带参数,可右键->编辑,
然后通过菜单“design->retrieval arguments”来定义检索参数。
2、通过Query建立的数据窗口与这个query文件无关,即使你把它删掉,数据窗口照样能使用。
------解决方案-------------------------------------------------------- 看得不是太明白!
创建sql select 的DW,不选择表!菜单 design ->convert to syntax
你就可以直接 写SQL
参数是就像ls那样定义!