我想在MS Access中转换SQL查询到SQL Server。此查询是关于将日期转换为星期几。请告知。
MS访问权限:
UPDATE Contact_Hist
SET WK_DAY = weekdayname(weekday(cdate(mid(date_id,5,2) & "/" & right(date_id,2) & "/" & left(date_id,4))));
例如,DATE_ID = 20140703
符合表(Contact_Hist
),并希望转换为星期几,即'Thursday'
。
2条答案
按热度按时间kupeojn61#
您应该使用SQL Server的
DatePart()
函数:这将返回1(星期一)和7(星期日)之间的整数。
土耳其
DatePart()
返回值[integer]的解释方式由SQL Server的SET DATEFIRST
设置(或默认配置)决定。即,返回的1是否为Monday,2是否为Monday,依此类推。土耳其
土耳其
要获取星期几的名称,请使用
DateName()
函数。为了便于参考,
DatePart()
和DateName()
都将“date”(即,time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值)作为第二个参数。SQL Server将隐式地将日期字符串转换为日期,因此CAST('20140703' AS date)
不是必需的。土耳其
mo49yndu2#
在MS SQL Server 2012中,您可以执行以下操作并恢复“星期五”:
如以下SQLFiddle所示:http://sqlfiddle.com/#!6/fc24a/8
那么做: