繁体   English   中英

SQL将字符转换为日期时间

[英]SQL cast char to datetime

我有以下t-sql:

set @sql = 'select id, query from '+@tablename+' where '+GETUTCDATE()+'> cast(ExpirationDate as datetime)'
execute sp_executesql @sql

我收到此错误:

从字符串转换日期和/或时间时转换失败。

我该如何正确转换呢?

只需将函数调用放在查询字符串中:

set @sql = 'select id, query from '+@tablename+' where GETUTCDATE() > cast(ExpirationDate as datetime)';

在调用sp_executesql之前,将其放入没有任何优势。

SET @sql = 
    'SELECT id, query 
    FROM '+@tablename+' 
    WHERE CAST('''+CAST(GETUTCDATE() AS VARCHAR(30))+''' AS DATETIME) 
          > CAST(ExpirationDate AS datetime)'
EXECUTE sp_executesql @sql

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM