比如说我要让存储过程生成流水号,肯定要用到一些转换和截取字符串的函数,比如说:RIGHT(CONVERT(VARCHAR(4),YEAR(GETDATE())),2)等等,但是为什么我用把它赋值给一个变量:比如说 Select @aaa=RIGHT(CONVERT(VARCHAR(4),YEAR(GETDATE())),2) 之后,aaa里没有被赋值呢?但是如果这样写:Select @aaa='123' 就没有问题。但是@aaa=RIGHT(CONVERT(VARCHAR(4),YEAR(GETDATE())),2)的赋值方法又提示错误,请问各位战友,这个问题应该如何解决呢?谢谢大家。我用的是SQL Server2000
解决方案 »
- sql动态创建行号
- |zyciis| waitfor delay '00:00:10' 没有用啊 不要是要的效果
- 问一个不是问题的问题,关于sql server 2000中message信息。
- 大虾们请指教关于存储过程的资料
- 怎样查询每门课分数最高的学生?
- 再次发帖,................搞简单点..............................................
- 急救:如何在动态sql中输出null的自定义列?在线等。。。
- 请问这里有人在XP2内给SQL打过补丁的呢?(100)
- 用ADO访问SQL Sever时的问题
- vb里select语句里的日期如何表示?
- 两列引用相同一个表 即使数据库表中都有数据,但也查询出来的还是空。
- 用java连接sql时用户名和密码如何填写?
SELECT @AAA=RIGHT(CONVERT(VARCHAR(4),YEAR(GETDATE())),2)
SELECT @AAA
Select @aaa
Select @aaa/*
----------
10(所影响的行数为 1 行)*/
不可能你看declare @aaa varchar(20)
select @aaa=RIGHT(CONVERT(VARCHAR(4),YEAR(GETDATE())),2)
print @aaa---结果
10
SELECT @ListNum='ZYKH'+RIGHT(CONVERT(VARCHAR(4),YEAR(GETDATE())),2)+REPLICATE('0',2-LEN(MONTH(GETDATE())))+CONVERT(VARCHAR(2),MONTH(GETDATE())),0)+REPLICATE('0',2-LEN(DAY(GETDATE())))+CONVERT(VARCHAR(2),DAY(GETDATE())),0)+'01'
但为什么总是提示错误呢?盼求各位前辈解决。
declare @ListNum nvarchar(4000)
select @ListNum='ZYKH'+RIGHT(CONVERT(VARCHAR(4),YEAR(GETDATE())),2)+
REPLICATE('0',2-LEN(MONTH(GETDATE())))+
CONVERT(VARCHAR(2),MONTH(GETDATE()))+
REPLICATE('0',2-LEN(DAY(GETDATE())))+
CONVERT(VARCHAR(2),DAY(GETDATE()))+'01'
select @ListNum
RIGHT(CONVERT(VARCHAR(4),YEAR(GETDATE())),2)+
REPLICATE('0',2-LEN(MONTH(GETDATE())))+
CONVERT(VARCHAR(2),MONTH(GETDATE())),0)+
REPLICATE('0',2-LEN(DAY(GETDATE())))+
CONVERT(VARCHAR(2),DAY(GETDATE())),0)+'01'/*服务器: 消息 170,级别 15,状态 1,行 4
第 4 行: ')' 附近有语法错误。
declare @ListNum varchar(20)
set @ListNum='ZYKH'+ convert(varchar(8),getdate(),112) +'01'print @ListNum-----结果
ZYKH2010061401