‘壹’ Mssql语法问题,消息 156,级别 15,状态 1,第 6 行 关键字 'Create' 附近有语法错误。求指导,谢谢
把insertintocontentvalues去掉
‘贰’ 请教MSSQL2008查询语句如何写
目测你应该是个脚本,我认为这种错误基本都是一些标点符号,路径或参数错误!
建议直接来张截图,这么看,谁都看不懂
‘叁’ mysql的insert语法和MSSQL差别
支持标准化的insert into table (filed,fields) values(value,value);
不过mysql还支持insert into table set field=value,field=value;
‘肆’ mssql2005存储过程语法
2005以后用 top(@变量)
2005以前top 后面不允许使用变量,动态拼语句在执行.也可以用 set rowcount
create procere pr_page @pageIndex int=10, @pageCount int=10 as
declare
@Sql varchar(2000)
set @Sql = 'select top ' + Convert(varchar, @pageCount) + ' * from admins ' +
' where id not in (select top ' + Convert(varchar, @pageIndex) + ' id from admins)'
exce(@Sql)
go
‘伍’ mssql函数DATENAME使用示例讲解(取得当前年月日/一年中第几天SQL语句)
mssql函数DATENAME
复制代码
代码如下:
语法
DATENAME
(
datepart
,
date
)
参数
datepart
是返回的
date
的一部分。下表列出了所有有效的
datepart
参数。用户定义的变量等效项是无效的。
date
是一个表达式,可以解析为
time、date、smalldatetime、datetime、datetime2
或
datetimeoffset
值。date
可以是表达式、列表达式、用户定义的变量或字符串文字。
为避免不确定性,请使用四位数年份。有关两位数年份的信息,请参阅
two
digit
year
cutoff
选项。
返回类型
nvarchar
返回值
每个
datepart
及其缩写都返回相同的值。
返回值因使用
SET
LANGUAGE
和登录的默认语言设置的语言环境的不同而异。如果
date
是某些格式的字符串文字,则返回值由
SET
DATEFORMAT
而定。当日期为日期或时间数据类型的列表达式时,SET
DATEFORMAT
不影响返回值。
如何取得当前日期,格式带有短横线,不带横线的,如何取得当前时间。
如何取得月份,季度,一年中第几天。。。
复制代码
代码如下:
SELECT
CONVERT(varchar(10),
getdate(),
120)--当前年月日,Example:2013-11-19
SELECT
CONVERT(varchar(10),
getdate(),
112)--当前年月日,Example:20131119
SELECT
CONVERT(varchar(10),
getdate(),
108)--当前年月日,Example:20:28:36
SELECT
DATENAME
(day
,getdate())--当月几号
SELECT
DATENAME
(month
,getdate())--月份
SELECT
DATENAME
(quarter
,getdate())--季度
SELECT
DATENAME
(dayofyear
,getdate())--一年中的第几天
SELECT
DATENAME(week,GETDATE())--一年中第几周
SELECT
DATENAME(weekday,GETDATE())--星期几
SELECT
DATENAME(hour,GETDATE())--当前几点,24小时制的
SELECT
DATENAME(minute,GETDATE())--取当前分钟数
SELECT
DATENAME(second,GETDATE())--取当前秒数
SELECT
DATENAME(millisecond,GETDATE())--毫秒
‘陆’ 制造帐号注册页MSSQL+asp(附上SQL语法帮忙加在一起)
给你建议
1、最好使用存储过程来操作
2、只要是多表操作一定要启用事务处理
若还有问题,可远程帮你解决
‘柒’ MSSQL语句的一个小问题
1、把字段变成标识,那么在每次insert的时候编号自动递增
2、写触发器,Insert 的时候找最大的那个编号,然后加一赋值。
3、在程序里面写,insert前先找出最大编号,然后加一,生成sql insert语句插入。
‘捌’ MySQL和MsSQL的语法差别大吗
MSSQL适合大型网站,mysql中小型网站比较适用,一般与PHP搭配着用,目前比较流行,可以跨平台,安全性比ACCESS强,至于容量至少10万条数据,一般都够用了的,而且操作容易上手,我的QQ1144584579,不懂得地方加我吧!
‘玖’ MYSQL与MSSQL的区别及优劣比较
MySQL可以说是MSSQL的简化版本。
理念相同,但MySQL的实现比MSSQL的需求低。MySQL是一个免费的、开放源代码的SQL数据库,所以免费的MYSQL很受欢迎,php+mysql,MySQL数据库专用于PHP网站的,一般用在PHP的网页上的,他和PHP可以说是黄金搭档(都是开源免费的东西)。
对于不是特别大流量的网站,特别胜任,效率最高,MYSQL适合小、中型网站。mysql 是个开源的数据库Server,可运行在windows平台、unix、linux平台,其标准版是免费的,ASP.NET跟MYSQL不适合一起用,国内建站用PHP+MySQL+Apache很流行。
MS SQL是微软推出的商用数据库系统,全称是Microsoft SQL Sever。,是微软的东东,都需要收钱的,所以贵些,目前的大型网站一般使用Oracle或者MSSQL,JSP.PHP.ASP都可以。一般是企业级的商务网站使用的。
MS SQL Server 和ASP都是微软的产品,互相兼容性最好,所以ASP 网站用MS SQL Server 最好,搭配!
拓展资料:
关于MySQL和MsSQL的几点知识
1 mysql支持enum,和set类型,sql server不支持
2 mysql不支持nchar,nvarchar,ntext类型
3 mysql的递增语句是AUTO_INCREMENT,而mssql是identity(1,1)
4 msms默认到处表创建语句的默认值表示是((0)),而在mysql里面是不允许带两括号的
5 mysql需要为表指定存储类型
6 mssql识别符是[],[type]表示他区别于关键字,但是mysql却是 `,也就是按键1左边的那个符号
7 mssql支持getdate()方法获取当前时间日期,但是mysql里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是 now()函数
8 mssql不支持replace into 语句,但是在最新的sql20008里面,也支持merge语法
9 mysql支持insert into table1 set t1 = ‘’, t2 = ‘’ ,但是mssql不支持这样写
10 mysql支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 mssql不支持limit语句,是非常遗憾的,只能用top 取代limt 0,N,row_number() over()函数取代limit N,M
12 mysql在创建表时要为每个表指定一个存储引擎类型,而mssql只支持一种存储引擎
13 mysql不支持默认值为当前时间的datetime类型(mssql很容易做到),在mysql里面是用timestamp类型
14 mssql里面检查是否有这个表再删除,需要这样:
if exists (select * from dbo.sysobjects where id = object_id(N'uc_newpm') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
但是在mysql里面只需要 DROP TABLE IF EXISTS cdb_forums;
15 mysql支持无符号型的整数,那么比不支持无符号型的mssql就能多出一倍的最大数存储
16 mysql不支持在mssql里面使用非常方便的varchar(max)类型,这个类型在mssql里面既可做一般数据存储,也可以做blob数据存储
17 mysql创建非聚集索引只需要在创建表的时候指定为key就行,比如:KEY displayorder (fid,displayorder) 在mssql里面必须要:create unique nonclustered index index_uc_protectedmembers_username_appid on dbo.uc_protectedmembers
(username asc,appid asc)
18 mysql text字段类型不允许有默认值
19mysql的一个表的总共字段长度不超过65XXX。
20一个很表面的区别就是mysql的安装特别简单,而且文件大小才110M(非安装版),相比微软这个庞然大物,安装进度来说简直就是.....
21mysql的管理工具有几个比较好的,mysql_front,和官方那个套件,不过都没有SSMS的使用方便,这是mysql很大的一个缺点。
22mysql的存储过程只是出现在最新的版本中,稳定性和性能可能不如mssql。
23 同样的负载压力,mysql要消耗更少的CPU和内存,mssql的确是很耗资源。
24php连接mysql和mssql的方式都差不多,只需要将函数的mysql替换成mssql即可。
25mysql支持date,time,year类型,mssql到2008才支持date和time。
‘拾’ mssql存储进程关于 变量的加减语法
alter Proc usp_Save_Char_Info_E
@CharID int,
@Level int,
@StatPoint smallint,
@SkillPoint smallint,
@Str smallint,
@Dex smallint,
@Rec smallint,
@Int smallint,
@Wis smallint,
@Luc smallint,
@Hp smallint,
@Mp smallint,
@Sp smallint,
@Map smallint,
@Dir smallint,
@Exp int,
@Money int,
@Posx real,
@Posy real,
@Posz real,
@Hg int,
@Vg int,
@Cg int,
@Og int,
@Ig int,
@K1 int = null,
@K2 int = null,
@K3 int = null,
@K4 int = null,
@KillLevel tinyint,
@DeadLevel tinyint
AS
--SET NOCOUNT ON
DECLARE @ServerID int
SET @ServerID = 1
IF( (@K1 IS NOT NULL) AND (@K2 IS NOT NULL) AND (@K3 IS NOT NULL) AND (@K4 IS NOT NULL))
BEGIN
dECLARE @zhangongwan int
set @zhangongwan = (select zgw from chars where charid = @charid)
IF( @zhangongwan IS NOT NULL)
BEGIN
UPDATE Chars SET K1=@k1+zgw , zgw = 0 WHERE CharID=@CharID
END
else
UPDATE Chars SET K1=@K1, K2=@K2, K3=@K3, K4=@K4 WHERE CharID=@CharID
END
IF(@KILLLEVEL IS NOT NULL)
BEGIN
--if(@killlevel <31) and (@killlevel > 15)
--begin
DECLARE @kilmk3 int
DECLARE @kilmk4 int
set @kilmk3 = (select zg from ps_gamelog.dbo.wzg where le = @killlevel +1)
set @kilmk4 = (select sx from ps_gamelog.dbo.wzg where le = @killlevel +1)
if(@k1 > @kilmk3)
begin
SET @statpoint=@statpoint+@kilmk4
SET @killlevel=@killlevel +1
end
UPDATE Chars
SET [Level] = @Level, StatPoint = @StatPoint, SkillPoint = @SkillPoint,
[Str] = @Str, dex = @Dex, Rec = @Rec, [int] = @Int, Wis = @Wis, Luc = @Luc,
HP = @Hp, Mp = @Mp, Sp = @Sp,
Map = @Map, dir = @Dir, [exp] = @Exp, [money] = @Money,
PosX = @Posx, PosY = @PosY, PosZ = @PosZ, hg = @Hg, vg = @Vg, cg = @Cg, og = @Og, ig = @Ig,
KillLevel=@KillLevel, DeadLevel=@DeadLevel,LeaveDate=GETDATE()
WHERE CharID = @CharID
IF(@@ERROR = 0 AND @@ROWCOUNT = 1)
BEGIN
SELECT 1
END
ELSE
BEGIN
SELECT -1
end
END
少了一个END结束