SQL字符串';00000和x27;显示为';0';
有人能解释为什么吗SQL字符串';00000和x27;显示为';0';,sql,sql-server,tsql,Sql,Sql Server,Tsql,有人能解释为什么吗 CASE WHEN MARK = 'Y' THEN LEFT('00000', 5-LEN(DATEDIFF(MINUTE, START, FINISH))) + DATEDIFF(MINUTE, START, FINISH) ELSE '00000' END AS [Time] 当标记“Y”时,显示为单个0而不是00000,并显示35而不是00035(例如)我猜SQL正在将其转换为整数 像这样的代码selectcast('00000'作为
CASE
WHEN MARK = 'Y'
THEN LEFT('00000', 5-LEN(DATEDIFF(MINUTE, START, FINISH))) + DATEDIFF(MINUTE, START, FINISH)
ELSE '00000'
END AS [Time]
当
标记“Y”
时,显示为单个0
而不是00000
,并显示35
而不是00035
(例如)我猜SQL正在将其转换为整数
像这样的代码
selectcast('00000'作为varchar)
返回您想要的结果(0000000035),但是selectcast('00000'作为int)
返回您的结果(0,35等)我猜SQL正在将其转换为整数
像这样的代码
selectcast('00000'作为varchar)
返回您想要的结果(0000000035),但是selectcast('00000'作为int)
返回您的结果(0,35等)我猜SQL正在将其转换为整数
像这样的代码
selectcast('00000'作为varchar)
返回您想要的结果(0000000035),但是selectcast('00000'作为int)
返回您的结果(0,35等)我猜SQL正在将其转换为整数
像这样的代码
select cast('00000'作为varchar)
返回您想要的结果(0000000035),但是select cast('00000'作为int)
返回您的结果(0、35等)我的理解是您正在使用MSSQL服务器。如果是,则任何变量或可空列的默认数据类型都是INT我的理解是您正在使用MSSQL server。如果是,则任何变量或可空列的默认数据类型都是INT我的理解是您正在使用MSSQL server。如果是,则任何变量或可空列的默认数据类型都是INT我的理解是您正在使用MSSQL server。如果是,则任何变量或可空列的默认数据类型为INT为什么不RIGHT('00000'+日期差异(分钟,开始,结束),5)
?为什么不RIGHT('00000'+日期差异(分钟,开始,结束),5)
?为什么不RIGHT('00000'+日期差异(分钟,开始,结束),5)
?为什么不RIGHT('00000'+日期差异(分钟,开始,结束),5)
?CAST(右('00000'+DATEDIFF(MINUTE,ADTM,SDTM),5)作为VARCHAR)作为TEST
返回35个stillAh算出了它,不得不用CASTCAST(右('00000'+DATEDIFF(MINUTE,ADTM,SDTM),5)作为VARCHAR封装DATEDIFF,作为TEST
返回35个stillAh算出了它,必须用castcast(右('00000'+Datediff(MINUTE,ADTM,SDTM),5)作为VARCHAR)封装Datediff,因为TEST
返回35个stillAh计算出来,必须用castcast(右('00000'+Datediff(MINUTE,ADTM,SDTM),5)作为VARCHAR封装Datediff,因为TEST
返回35个stillAh计算出来,必须用演员阵容封装Datediff
RIGHT('00000' + CAST(DATEDIFF(MINUTE,START,FINISH) AS VARCHAR(MAX)), 5)