摘要:默认情况下,使用wm_concat和group by拼接字段时,拼接的字段顺序是无规则的。有2种解决方法。
阅读全文
随笔分类 - SQL
摘要:Oracle数据库的两个字段值为逗号分割的字符串,例如:字段A值为“1,2,3,5”,字段B为“2”。
想获取两个字段的交集(相同值)2,获取两个字段的差集(差异值)1,3,5。
阅读全文
摘要:创建一个只读用户user2,只能查询管理员用户user1下的表,不能增删改。
阅读全文
摘要:oracle sql生成临时递增数据,如1至10等等。
阅读全文
摘要:oracle的loop等循环语句的几个用法小例子
阅读全文
摘要:--case when用法
select
case
when cast(strftime('%H','now','localtime') as int) >= 6 and cast(strftime('%H','now','localtime') as int) <=12 then '上午'
when cast(strftime('%H','now','localtime') as int) >12 and cast(strftime('%H','now','localtime') as int) <=18 then '下午'
when cast(strftime('%H','now','localtime') as int) >18 and cast(strftime('%H','now','localtime') as int) <=23 then '晚上'
else '凌晨' end;
阅读全文
摘要:新个税计算公式
1500 4500 9000 35000 55000 80000 =45% 13505
阅读全文
摘要:FROM T1,T2是ANSI SQL-89的旧语法,用逗号分隔FROM子句出现的表名,没有JOIN关键字,也没有ON子句,它只支持交叉联接和内联接,不支持外联接;如果没有指定联接条件就是一个交叉联接。
新的ANSI SQL-92去掉了逗号,引入了JOIN和ON,支持交叉联接、内联接和外联接。
优化器为使用上面两种语法的语句生成了相同的执行计划,性能是一样的。
阅读全文
摘要:在SQL中谓词(逻辑表达式)的可能取值有TRUE、FALSE和UNKNOWN,这就是所谓的三值逻辑。UNKNOWN逻辑通常出现在涉及NULL值的逻辑表达式中,NULL代表一种缺失的值,当把一个缺失的值和另一个值(这个值也可能是NULL)进行比较时,逻辑结果总是UNKNOWN。查询筛选器(ON WHERE HAVING)都把UNKNOWN当作FALSE处理,使筛选器取值为UNKNOWN的行会被排除在结果集之外。而 CHECK结束中的UNKNOWN被当作FALSE对待,如表中一个CHECK结束要求某列大于0,向该列插入NULL值也会成功,因为 NULL>0等于UNKNOWN。在筛选器中比较两
阅读全文
摘要:CREATE TABLE dbo.Nums(n INT NOT NULL PRIMARY KEY);
DECLARE @max AS INT, @rc AS INT;
SET @max = 1000000;
SET @rc = 1;
INSERT INTO dbo.Nums(n) VALUES(1);
WHILE @rc * 2 = @max
BEGIN
INSERT INTO dbo.Nums(n) SELECT n + @rc FROM dbo.Nums;
SET @rc = @rc * 2;
END
INSERT INTO dbo.Nums(n)
SELECT n + @rc FROM dbo.Nums WHERE n + @rc = @max;
GO
阅读全文
摘要:联接运算涉及下列步骤的一个子集(取决于联接的类型):1.执行笛卡尔积cross join;2.应用on筛选器;3.添加外部行(只在外联接outer join中发生)。所以,当使用内联接inner join时哪里指定逻辑表达式on和where作用一样,因为会跳过步骤3。当使用外联接outer join时,步骤2的on筛选器对保留表中部分行的删除不是最终的,因为步骤3会把这些行再添加回来,而where筛选则是最终的。例子,先插入测试数据:USE tempdbGOif OBJECT_ID('dbo.Article') is not null drop table dbo.Articl
阅读全文
摘要:--压缩文件: a 压缩,-ep 从名称中排除路径declare @sql nvarchar(200)set @sql = '"D:\Program Files\WinRAR\WinRAR.exe" a -ep F:\a.rar F:\a.txt'exec master..xp_cmdshell @sql--解压文件: e 解压,-o+ 覆盖declare @sql nvarchar(200)set @sql = '"D:\Program Files\WinRAR\WinRAR.exe" e -o+ F:\a.rar F:\
阅读全文
摘要:根据上图A表和B表,按照年份和地区生成1至12个月的数据,结果如下:方法一:select YEAR,AreaName, MAX(case Month when '1' then Money else 0 end) as [1月], MAX(case Month when '2'...
阅读全文
摘要:SQL Server 2008打开存储过程列表时提示:请参阅“对象资源管理器详细信息”了解此文件夹中的对象
阅读全文
摘要:有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法: 1、把待执行Sql保存在一个文件,这里为20110224.sql。 2、新建一个扩展名.bat的批处理文件,输入下面命令并保存后,双击.bat文件,系统会自动执行20110224.sql的语句: osql -S gdjlc -d TestDB -U sa -P 1 -i 20110224.sql osql参数见下面
阅读全文
摘要:建立ODBC数据源,在Powerdesigner中选择Database菜单下的Reverse Engineer Database,弹出Database Reverse Engineering对话框,选Using an ODBC data source选择刚才创建的ODBC数据源,点击确定后,显示此数据库中所有表、视图、用户。根据需要选择后,转换成pdm。
阅读全文
摘要:select id from infoid-----------123567810111215(11 行受影响)方法一:select (select max(id)+1 from Info where id<a.id) as beginId,(id-1) as endIdfrom Info a where a.id>(select max(id)+1 from Info where id<a.id)beginId endId----------- -----------4 49 913 14(3 行受影响)方法二:select beginId,(select min(id)-
阅读全文
摘要:select * from testid title----------- ------------------------------------1 20D32B5D-082C-47F1-9B84-FDD6F28700DC3 7662E2C4-5F3D-4425-91D1-DBAEEC70C02B5 F84E1617-D719-49DA-91F8-55DC76B66D2F6 53B15573-FD6D-46E5-A32C-BE8041E475D48 7D42962D-365F-419A-B026-4A62440A3B439 1A44340F-B78C-446E-A4D6-661EBA663E
阅读全文
摘要:见:http://topic.csdn.net/u/20100625/21/cb7295e6-0514-4e28-888f-2935537208f4.html有个表pages ,有5个属性,id, url, title, body, site.问: 用一条SQL语句搜出url,body,或site中包含’test’字符串的数据,且将含有‘test’的url 的结果放在最前面,其次是body, 然后是site 且不能有重复数据如:id url title body site1 'a' 'b' 'c' 'd'2 'a'
阅读全文
摘要:从表中随机取4条记录: select * from (select * from 表 order by dbms_random.random) where rownum < 5 伪列2type: select * from ( select ai.activityId,ai.owner,ai.cre
阅读全文