如何解决“ cast”附近的语法不正确
| 无法弄清楚为什么我得到错误 substring(cast(在分配给IS的情况下 不为空则分配为ELSE l2.assigned END),0,17)as [TEST1] 更新: 我尝试调整的原始行如下...想要删除该转换,因为我不希望在日期时间使用该格式: ,否则为substring(convert(varchar, 强制转换(当l.assigned不为NULL时的情况 THEN l.assigned ELSE l2.assigned END as datetime),126),0、17)end)as varchar(20))为[TEST1] 我也尝试过我忘记提及的 substring(cast(在分配给IS的情况下 不为空则分配为ELSE l2。指定为日期时间END),0、17) 作为[TEST1] 错误:关键字\'as \'附近的语法不正确。解决方法
由于未指定此处详细说明的数据类型,因此会收到错误消息。语法如下所示:
select cast(\'1/1/1911\' as datetime)
您可以更简单地使用isull(或合并)和left来表达查询。请记住,除非您要查找特定的日期时间格式,否则可以执行以下操作:
select left(isnull(l.assigned,l2.assigned),17) as [TEST1]
,CAST
需要一个似乎缺失的AS datatype
。
例如
SELECT SUBSTRING(CAST(
CASE WHEN \'foo\' IS NOT NULL THEN \'foo\' ELSE \'FOO\' END AS VARCHAR(100)),17) AS [TEST1]
您也可以使用ISNULL
或COALESCE
缩短代码。
SELECT SUBSTRING(CAST(COALESCE(l.assigned,l2.assigned) AS VARCHAR(100)),17)
AS [TEST1]
,您要投射到哪种数据类型?请参阅参考:
http://msdn.microsoft.com/en-us/library/ms187928.aspx
您缺少\'as \'子句和数据类型。
,您需要将其强制转换为类型。
msdn:CAST和转换
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。