Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在T-SQL中获得11月18日这样的日期_Sql_Sql Server - Fatal编程技术网

如何在T-SQL中获得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')更安全,因为它将返回指定的结果,而不管运行

我需要获取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')
更安全,因为它将返回指定的结果,而不管运行的登录语言如何it@MartinSmith,谢谢你-更新等等,你把日期存储为
varchar(MAX)
@dattuchowdarybolla?为什么?@Larnu-更糟
nvarchar(max)
因此,谁会对这些问题进行投票(尽管从来没有非ASCII字符),这将占用两倍的空间?就个人而言,我会担心演示层中的显示格式。格式化日期意味着将其从
日期(时间)
数据类型更改为
varchar
;这也带来了一系列问题。