日期为2012-03-19 时 截取年和月 (Es_paySlip为表格)
Select distinct(Year(cast(Es_paySlip.AddDate as datetime))) as StartYear from Es_paySlip --截取年
Select distinct(Month(cast(Es_paySlip.AddDate as datetime))) as StartMonth from Es_paySlip --截取日
如果日期换为 2011年1月 时 该怎么截取年和月
是这样替换么?
select month(cast(replace(replace('2013年10月','年','-'),'月','-') as datetime))
可是结果显示 : 从字符串向 datetime 转换时失败。
select month(cast(replace(replace('2013年10月','年','-'),'月','') as datetime)),
另外:如果用SQL脚本使用起来很麻烦,愿意使用C#代码解决这个问题也可在数据库中注册入DLL来解决,这个现问题不建议这么做,这里只是一个思路
恩 谢谢
我试了一下 结果是这个 2013-10-01 00:00:00.000 我要截取的是单个年 和单个月 分两次SQL语句截取
追答SELECT SUBSTRING('2013年10月',1,4)
SELECT SUBSTRING('2013年10月',6,2)
MSSQL
追答select SUBSTRING(convert(char,GetDate(),23),1,7)