随笔分类 - 数据库(Oracle)
摘要:如果你的数据库的表的设计包含了Access包含的关键字(常用的System,master,admin,user,useres,userid,Money等),则在插入更新的时候会出现“语法错误”例如:string sqlText = String.Format("Insert into TestTable(Id,Order) values ({0},{1})",123,0);这行上面这条语句是失败的,原因是TestTable表中有一个关键字"Order",解决办法:(1).将语句中的关键字用[order]处理就可以了。如:string sqlText =
阅读全文
摘要:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06Select CONVERT(varchar(100), G
阅读全文
摘要:Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数。 select datediff(day,'2004-09-01','2004-09-18') --返回:174. datepart 返回代表指定日期的
阅读全文
摘要:固定长度(char)与可变长度(varchar)字符数据类型char[(n)]长度为n个字节的固定长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为n个字节。char在SQL-92中的同义词为character。varchar[(n)]长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。所输入的数据字符长度可以为零。varchar在SQL-92中的同义词为char varying或character varying。由于char是以固定长度的,所以它的速度会比va
阅读全文
摘要:SQL Server里的 ISNULL 与 Oracle 中的 NULLIF不同: SQL Server 中有两个参数,语法: ISNULL(check_expression, replacement_value) check_expression 与 replacement_value 数据类型必须一致如果 check_expression 为 NULL,则返回 replacement_value 如果 check_expression 不为 NULL,则返回 check_expression NULLIF 用于检查两个表达式,语法: NULLIF(expression, expressio
阅读全文
摘要:NZ函数ODBC不支持,可是IIF函数ODBC是支持的,结合isnull函数,可以得到 IIF(isnull(username),'guest',username)
阅读全文
摘要:where与having1.作用的对象不同。WHERE 子句作用于表和视图,HAVING 子句作用于组(group)。eg:SELECT city FROM weather WHERE temp_lo = (SELECT max(temp_lo) FROM weather);2.WHERE 在分组和聚集计算之前选取输入行(因此,它控制哪些行进入聚集计算), 而 HAVING 在分组和聚集之后选取分组的行。 因此,WHERE 子句不能包含聚集函数; 因为试图用聚集函数判断那些行输入给聚集运算是没有意义的。 相反,HAVING 子句总是包含聚集函数。 (严格说来,你可以写不使用聚集的 HAVING
阅读全文
摘要:~左外连接(LEFT OUTER JOIN或LEFT JOIN) ~右外连接(RIGHT OUTER JOIN或RIGHT JOIN) ~全外连接(FULL OUTER JOIN或FULL JOIN) ~交叉连接(CROSS JOIN)左外联时间左边的表为主表,右外联时间右边的表为主表,另一表则为附表.倘若[on部分]中仅存在两表关联条件(如:table1.a = table2.a),则主表将保证所有数据不丢失倘若[on部分]中存在非两表关联条件(如:table1.a = 'a'),则主表将遵循该条件先对table1进行筛选再进行指定连接,因而并不能保证所有数据不丢失使用out
阅读全文
摘要:转自:http://blog.csdn.net/web_gus/archive/2004/10/11/132122.aspxSelect用途:从指定表中取出指定的列的数据语法:SELECT column_name(s) FROM table_name解释:从数据库中选取资料列,并允许从一或多个资料表中,选取一或多个资料列或资料行。SELECT 陈述式的完整语法相当复杂,但主要子句可摘要为:SELECT select_list [ INTO new_table ] FROM table_source [ WHERE search_condition ] [ GROUP BY group_by_e
阅读全文
摘要:order by居然不能直接在union子句中使用 今天一个群中的兄弟问一个问题,说有一个表,表中有很多数据,其中有个字段type,希望从表中随机取出10条记录,其中有5条type=1另外5条type=0,比如下图这样: 我一想,这还不简单,按照要求,每个取top 5,既然是随机的取,那么就order by newid()就是了三,然后把所有数据union起来就得了。所以我立即给出了答案:select top 5 * from xxx where type=1 order by newid() union select top 5 * from xxx where type=0 order b
阅读全文
摘要:sqlserver备份恢复__学习笔记1前记:今年4月份的时候,做过一个sqlserver2000到sqlserver2005的数据迁移,而且sqlserver2005还是建立在windows2003 mscs集群上的双active故障转移集群,弄了好几天才搭建好环境,自以为对sqlserver很熟悉了,但实际当时对sqlserver的原理研究的很少,后来有一个维护项目,是sqlserver2000,客户说他们的事务日志撑爆了硬盘,问我该怎么处理,我于是认真研究了一下sqlserver的日志机制,备份恢复原理,发现它和Oracle有相通之处,也有不同的地方,以下是一些知识的收集和总结,以备不时
阅读全文
摘要:相信很多人都有过统计某些数据的经历,比如,要统计财务的情况,可能要按每年,每季度,每月,甚至每个星期来分别统计。那在oracle中应该怎么来写sql语句呢,这个时候Oracle的日期函数会给我们很多帮助。常用日期型函数 1。Sysdate 当前日期和时间 SQL> Select sysdate from dual;SYSDATE ---------- 21-6月 -052。Last_day 本月最后一天 SQL> Select last_day(sysdate) from dual;LAST_DAY(S ---------- 30-6月 -053。Add_months(d,n) 当
阅读全文
摘要:Table B-1 列出了所由在 SQL 标准和 PostgreSQL 7.2 里是关键字的记号. 你可以在 Section 1.1.1 里找到 相关的背景信息. SQL 里有保留字(保留)和 非保留字之分.根据标准, 保留字是那些真正的关键字;我们决不能用它们做标识符. 非保留字只是在特定的环境里有特殊的含义,而在其它环境里是 可以用做标识符的.大多数非保留字实际上都是 SQL 声明的 内建表和函数的名字.而非保留字的概念实质上只是用来表示 在某些场合里,在一个字上附加了一些预先定义的含义. 在 PostgreSQL 里,分析器的工作 有些复杂.因为存在好几种不同范畴的记号,从那些永远不可能
阅读全文
摘要:Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女'ELSE '其他' END这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功
阅读全文