取字段内容中的最后一位或两位

liulianxin 2008-07-01 10:05:34
我这个access表中有个字段内容是日期加一个号,我只想取后边的这个号怎么取呀,长度是不固定的。
内容是这样的:2008-1-11-2
2008-11-10-20
我只想要2,20这最后的一个数。
急用!请教高手,谢谢!
...全文
433 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liulianxin 2008-07-01
  • 打赏
  • 举报
回复
我是在access里面取最后一个字,好多函数都不好用.
  • 打赏
  • 举报
回复
substring或取出来在页面上处理。按-间隔
zyf9054 2008-07-01
  • 打赏
  • 举报
回复
也不行,最后的字符串有1个也有2个
zyf9054 2008-07-01
  • 打赏
  • 举报
回复
substring(columnname,len(columnname)-2,2)
sprrav 2008-07-01
  • 打赏
  • 举报
回复
day(ColumnName)
guojingDua 2008-07-01
  • 打赏
  • 举报
回复
写一个存储过程用来获得最后一个'-'后的值

如下:

Create procedure sp_split_string
(
@string NVARCHAR(4000),--要分割的字符串
@SpLitString varchar(2000) --中间的分割符
)
AS
BEGIN
DECLARE @object_id nvarchar(500)
DECLARE @i INT
DECLARE @len INT
IF (@string IS NULL) OR (LTRIM(@string) = '')
RETURN
--查找字符串@string的中是否包含@SpLitString字符
WHILE CHARINDEX(@SpLitString,@string) > 0
BEGIN
SET @len = LEN(@string)--总的长度
SET @i = CHARINDEX(@SpLitString, @string)--找到第一个包含分割符的地方
SET @object_id = LEFT(@string, @i-1)--截取开始到分割前一个数据(分割数据)--右边开始算
SET @string = RIGHT(@string, @len - @i)--给变量从新复制数据-从分割符后面到整个长度-RIGHT从左边开始算
if (CHARINDEX(@SpLitString,@string) <= 0)
print @string
END

END
go

exec sp_split_string '2008-11-10-2','-'
exec sp_split_string '2008-11-10-20','-'



结果:
2
20

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧