我试图在sql查询中使用月份的实际数值来提取结果。有没有办法做到这一点,没有功能将数字更改为实际月份名称,然后回到月份数字?以下代码适用于名称,哪些适用于数字?
DATENAME(月,(转换(日期时间,DTSTAMP)))= '十一'
答案 0 :(得分:1)
月,(convert(datetime,DTSTAMP))应该这样做,但为什么你不能正确地存储数据作为开始的日期时间?所有使用日期的其他转换内容都会给您的服务器带来不必要的负担,并降低您的应用程序速度。
答案 1 :(得分:0)
Datepart是month命令的替代方法,它更灵活,因为您可以提取日期的其他部分。
DATEPART(mm, convert(datetime,DTSTAMP))
答案 2 :(得分:0)
获取月份日期
CONVERT(VARCHAR(2),DTSTAMP,110)
答案 3 :(得分:0)
在这里,您可以使用以下差异选项进行搜索:
DATE_SUB(CURDATE(),INTERVAL 0 DAY)
DATE_SUB(CURDATE(),INTERVAL 1 MONTH)
DATE_SUB(CURDATE(),INTERVAL 1年)
根据您的要求。