Foxtable(狐表)用户栏目专家坐堂 → 希望使用SQL语句支持的函数实现......


  共有2491人关注过本帖树形打印复制链接

主题:希望使用SQL语句支持的函数实现......

帅哥哟,离线,有人找我吗?
czy66ds
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
希望使用SQL语句支持的函数实现......  发帖心情 Post By:2017/7/13 11:50:00 [只看该作者]

希望使用SQL语句支持的函数实现:
例如:有类似 CK2017-0711-1137-22 的字符串,格式相同

1、取出子字符串 2017-0711
2、将2017-0711变成 2017-07-11
3、将字符串 2017-07-11 转换成日期格式

因为要在SQL语句中使用,故需一气呵成

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2017/7/13 12:05:00 [只看该作者]

DECLARE @s nvarchar(32)
SET @s ='CK2017-0711-1137-22'
S ELECT CONVERT(DATETIME, REPLACE(SUBSTRING(@s,3,9),'-',''),120)

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/13 12:27:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
czy66ds
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2017/7/13 13:24:00 [只看该作者]

我是看过狐表帮助sql函数后才发帖提问的。
我的理想是用一行达到目的,比方这样:
CDate(Insert(SubString('CK2017-0711-1137-22',3,9),7,"-"))
当然这样写可能不行。
在狐表sql函数只找到SubString,类似Insert,CDate的没找到。
所以来提问。


 回到顶部
帅哥哟,离线,有人找我吗?
czy66ds
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2017/7/13 14:19:00 [只看该作者]

我把问题提得明确点吧
假如有个表:表名为 AA
  日期  编号  
      ck2017-0710-1320-23
      ck2017-0711-1137-22
      ck2017-0712-0909-02
      ck2017-0713-0814-45
我想把每行编号列,例如从第一行编号中取出“2017-0710”并转换成日期2017-07-10,赋值给日期列。
想采用UPDATE语句实现:UP DATE {AA} S ET 日期 = 函数?(编号)



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/13 14:28:00 [只看该作者]

2楼的代码就是

 

CONVERT(DATETIME, REPLACE(SUBSTRING('CK2017-0711-1137-22',3,9),'-',''))


 回到顶部