如何在T-SQL中获得11月18日这样的日期
我需要获取SQL日期从2018年11月1日到11月18日 使用如何在T-SQL中获得11月18日这样的日期,sql,sql-server,Sql,Sql Server,我需要获取SQL日期从2018年11月1日到11月18日 使用format() select format(cast('2018-11-01' as date),'MMM-yy', 'en-US') 输出: dateval Nov-18 当我尝试使用这个“参数数据类型nvarchar(max)对于format的参数1无效”函数时,我遇到了这样的错误。format(cast('2018-11-01'as date)、'MMM-yy'、'en-US')更安全,因为它将返回指定的结果,而不管运行
format()
select format(cast('2018-11-01' as date),'MMM-yy', 'en-US')
输出:
dateval
Nov-18
当我尝试使用这个“参数数据类型nvarchar(max)对于format的参数1无效”函数时,我遇到了这样的错误。
format(cast('2018-11-01'as date)、'MMM-yy'、'en-US')
更安全,因为它将返回指定的结果,而不管运行的登录语言如何it@MartinSmith,谢谢你-更新等等,你把日期存储为varchar(MAX)
@dattuchowdarybolla?为什么?@Larnu-更糟nvarchar(max)
因此,谁会对这些问题进行投票(尽管从来没有非ASCII字符),这将占用两倍的空间?就个人而言,我会担心演示层中的显示格式。格式化日期意味着将其从日期(时间)
数据类型更改为varchar
;这也带来了一系列问题。