Select CONVERT(varchar(100), GETDATE(), 23);
返回形式:2008-11-29
Select CONVERT(varchar(100), GETDATE(), 102)
返回形式:2008.11.29
Select CONVERT(varchar(100), GETDATE(), 101)
返回形式:11/29/2008
更多详情请参见如下列表:
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 CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CON ......
在使用NHibernate过程中经常会使用到复杂的sql查询,但是使用hql又比较麻烦的情况下,我们往往都会想到采用原始的sql来执行。但是如何利用NHibernate来执行sql呢?问题来了,在NHibernate中也有AdoTemplate的方法可以执行sql的,但是这里要介绍的是另外一种方法:CreateSQLQuery。以下部分例子源自于网络。
实例一(源自于http://blog.csdn.net/canduecho/archive/2009/05/04/4149930.aspx,感谢博主分享):
Nhibernate中CreateSQLQuery用法实例:
涉及的表:
Cake{
Id ,
CakeName
。。。。
}
CakeSize{
CakeId,-为外键,对应Cake表的字段Id
Size
}
(其中ISession session = NHibernateHelper.GetCurrentSession();)
用法一(返回数值):
ISQLQuery query = session.CreateSQLQuery("SELECT COUNT(Id) AS C from Cake").AddScalar("C", NHibernateUtil.Int32);
int c = Convert.ToInt32(query.UniqueResult());
或int c = query.UniqueResult<int>;//使用此方法发现sql执行了两次,故不推荐使用。
用法二(返回对象实体):
ISQLQuery query = session.CreateSQLQuery("select * from cake c").AddEntity("CAKE.DataTransfer.Entities.C ......
一、表结构查询
SELECT TOP (100) PERCENT a.name AS zdm,COLUMNPROPERTY(a.id, a.name, 'IsIdentity') AS bs ,
CASE WHEN EXISTS (SELECT 1 from dbo.sysindexes si INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id
AND si.indid = sik.indid INNER JOIN dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid
INNER JOIN dbo.sysobjects so ON so.name = so.name AND so.xtype = 'PK' WHERE sc.id = a.id AND sc.colid = a.colid)
THEN '1' ELSE '0' END AS zj , b.name AS lx, a.length AS cd, COLUMNPROPERTY(a.id, a.name,'PRECISION')
AS jd, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS xsws,a.isnullable AS yxk, ISNULL(e.text, '')
AS mrz, ISNULL(g.value, '') AS zdsm from dbo.syscolumns AS a LEFT OUTER JOIN dbo.systypes AS b ON a.xtype = b.xusertype
INNER JOIN dbo.sysobjects AS d ON a.id = d.id AND d.xtype = 'U' AND d.status >= 0 LEFT OUTER JOIN
dbo.syscomments AS e ON a.cdefault = e.id LEFT OUTER JOIN sys.extended_properties AS g
......
语句形式: SELECTTOP10*
fromTestTable
WHERE(ID>
(SELECTMAX(id)
from(SELECTTOP20id
fromTestTable
ORDERBYid)AST))
ORDERBYID
SELECTTOP页大小*
fromTestTable
WHERE(ID>
(SELECTMAX(id)
from(SELECTTOP页大小*页数id
from表
ORDERBYid)AST))
ORDERBYID ......
1.数据的分布Skip()和take()
Skip(100)代表跳过100行后.从第101行开始分页;
take(10)表示多少行分页;
例:
var result=from pdt in db.Product
select pdt;
this.dataview.DataSource=result.Skip(10).take(10);
this dataview.DataBind();
注:这种方式一次性查询出来所有数据,然后再分页;
2.下面的方式是每个提交时绑定的都是特定的数据,而非所有数据;
public overridevoid DataBind()
{
db.log=this.response.output;
var result=from pdt in db.product
select pdt;
int skipNumber=Int.parse(this.textbox1.text)*10;
this.dataview.DataSource=result.Skip(s ......
建表:
CREATE TABLE [DB.dbo].tableName
(Stud_id int CONSTRAINT constraintName1 not null primary key,
Name nvarchar(5) not null,
Birthday datetime,
Gender nchar(1),
Telcode char(12),
Zipcode char(6) CONSTRAINT constraintName2 CHECK(zipcode like [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]),
Deptcode tinyint CONSTRAINT constraintName3 check(Deptcode<100),
Salary money DEFAULT 260
)
删表:
DROP TABLE tableName ;
修改表:
ALTER TABLE [DB.dbo.]tableName
ADD column_Name nvarchar(20) not null DEFAULT ‘liaihua’;
ALTER TABLE [DB.dbo.]tableName
DROP COLUMN column_Name;
ALTER TABLE [DB.dbo.]tableName
MODIFY column_Name columnType;
插入数据:
Insert into tableName[(column1,column2,column3…)] values(value1,value2,value3….);
Insert into tableName[(column1,column2,column3…)] select column1,column2,column3… from tableName2 [where…]
更新数据:
Update tableName set col ......