Date 在SQL server 2008 R2上将DD/MM/YYYY转换为YYYY-MM-DD

Date 在SQL server 2008 R2上将DD/MM/YYYY转换为YYYY-MM-DD,date,datetime,sql-server-2008-r2,ssrs-2008,Date,Datetime,Sql Server 2008 R2,Ssrs 2008,我使用的是SSRS2008,其中一个报表有文本字段,将数据作为DD/MM/yyyyy作为输入,但在查询时,我希望它转换为YYYY-MM-DD 我尝试了以下代码,但未能成功 Declare @a varchar(20)= '27/03/2014' SELECT CONVERT(varchar(20), CAST(@a as DATE),126) 所需输出为 2014-03-27 在SSRS报告中,日期格式更改用于此概念 创建表az(id整数,Dob varchar(20)) insert in

我使用的是SSRS2008,其中一个报表有文本字段,将数据作为DD/MM/yyyyy作为输入,但在查询时,我希望它转换为YYYY-MM-DD

我尝试了以下代码,但未能成功

Declare @a varchar(20)= '27/03/2014'
SELECT CONVERT(varchar(20), CAST(@a as DATE),126)
所需输出为

2014-03-27

在SSRS报告中,日期格式更改用于此概念

创建表az(id整数,Dob varchar(20))

insert into az values(1, '25/03/2014')
insert into az values(2, '26/03/2014')
insert into az values(3, '27/03/2014')
insert into az values(4, '28/03/2014')
select * from az
将此行用于文本框字段表达式:

=IIF(IsNothing(Fields!Dob.Value),"",Mid(Fields!Dob.Value,7,4) + "-" + 
Mid(Fields!Dob.Value,4,2) + "-" + Left(Fields!Dob.Value,2))

尝试检查:失败了,我刚刚尝试声明@b char(8)='27032014'选择CONVERT(datetime,RIGHT(@b,4)+left(@b,4)),结果是“将varchar数据类型转换为datetime数据类型导致值超出范围。”@Yohanes Khosiawan尝试检查:这与其他线程中可用的值相同。。强制转换和转换函数。我的问题是文本字段中的输入数据类似于2014年4月27日。。当它作为参数来查询时,我需要它转换为yyyy-mm-dd。@Yohanes khosiawana实际上你可以消除这个
/
字符。。您可以使用该
set dateformat dmy
来避免
超出范围的值
错误
DECLARE @DATECOL VARCHAR(13) = '25/01/2015'

-- Date Format
SELECT CAST(RIGHT(@DATECOL,4) + '-' + LEFT(RIGHT(@DATECOL,7),2) + '-' + LEFT(@DATECOL,2) AS DATE)

-- Varchar format
SELECT RIGHT(@DATECOL,4) + '-' + LEFT(RIGHT(@DATECOL,7),2) + '-' + LEFT(@DATECOL,2)