SQL行转列 列转行
--行列互转
/******************************************************************************************************************************************************
以学生成绩为例子,比较形象易懂 整理人:中国风
(Roy)
日期
:2008.06.06 ******************************************************************************************************************************************************/
--1、行互列
--> --> (Roy)
生成測試數據
if
not
object_id
(
'Class'
)
is
null
drop
table
Class
Go
Create
table
Class(
[Student]
nvarchar
(
2
),
[Course]
nvarchar
(
2
),
[Score]
int
)
Insert
Class
select
N
'张三
'
,N
'语文
'
,
78
union
all
select
N
'张三
'
,N
'数学
'
,
87
union
all
select
N
'张三
'
,N
'英语
'
,
82
union
all
select
N
'张三
'
,N
'物理
'
,
90
union
all
select
N
'李四
'
,N
'语文
'
,
65
union
all
select
N
'李四
'
,N
'数学
'
,
77
union
all
select
N
'李四
'
,N
'英语
'
,
65
union
all
select
N
'李四
'
,N
'物理
'
,
85
Go
--2000方法
:
动态:
declare
@s
nvarchar
(
4000
)
Set
@s
=
''
Select
@s
=
@s
+
','
+
quotename
(
[Course]
)
+
'=max(case
when [Course]='
+
quotename
(
[Course]
,
''''
)
+
'
then [Score] else 0 end)'
from
Class
group
by
[Course]
exec
(
'select [Student]'
+
@s
+
'
from Class group by [Student]'
)
生成静态:
select
[Student]
,
[数学
]
=
相关文档:
mysql可以运行在不同sql mode模式下面,sql mode模式定义了mysql应该支持的sql语法,数据校验等!
查看默认的sql mode模式:
select @@sql_mode;
我的数据库是:
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
在此模式下面,如果插入的数据的长度大于定义的长度,那么就会报错!
......
---- 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略
了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库
环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践
中发 ......
来源:http://www.cnblogs.com/jxnuxg/articles/1114418.html
CONVERT(data_type,expression[,style])
语句及查询结果:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CO ......
触发器
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
常见的触发器有三种:分别应用于Insert , Update , Delete 事件。(SQL& ......
表专区
--
复制表及数据(从
userinfo
表复制到新表
b
select
*
into
b
from
UserInfo
--
获取当前数据库中的所有用户表
select * from sysobjects where xtype='U' and category=0
--
获取某一个表的所有字段
......