日期:2014-05-18  浏览次数:20463 次

sql语句 帮忙解释下用法和在本句的做用!!!!1急
cast(right(@oldid,4) as int
cast是转换(expression as type)
right(@oldid,4) 在这里是什么意思?
其中@oldid = '20080601-0001'

declare @oldid as varchar(40)
set @oldid = '20080601-0001'
select date=CONVERT(varchar(12) , getdate(), 112 )
select newid =cast(right(@oldid,4) as int)+1  
select newsid = str(newid)


right(@oldid,4)和 str(newid) 在这里是什么意思(用法)?

------解决方案--------------------
SQL code
right(@oldid,4)
--取@oldid的最后4位,
和 str(newid) 在这里是什么意思(用法)? 
--str(newid)是将newid转换成字符串.

------解决方案--------------------
right(@oldid,4) 在这里是什么意思? 
取右面的4个字符


------解决方案--------------------
RIGHT (Transact-SQL)
返回字符串中从右边开始指定个数的字符。
http://msdn.microsoft.com/zh-cn/library/ms177532.aspx


STR (Transact-SQL)
返回由数字数据转换来的字符数据。
http://msdn.microsoft.com/zh-cn/library/ms189527.aspx
------解决方案--------------------
select newid =cast(right(@oldid,4) as int)+1 
select newsid = str(newid) 
用的不对

select str(2) 
因该这样,你的newid是什么?没定义


------解决方案--------------------
PS:
在2005中不要使用newid,
newid是关键字.
------解决方案--------------------
NEWID (Transact-SQL)
创建 uniqueidentifier 类型的唯一值。
http://msdn.microsoft.com/zh-cn/library/ms190348.aspx