Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Преобразуването в дата и час е неуспешно само при клаузата WHERE?

Изглежда, че предполагате някаква оценка на късо съединение или гарантирано подреждане на предикатите в WHERE клауза. Това не е гарантирано. Когато имате смесени типове данни в колона като тази, единственият безопасен начин да се справите с тях е с CASE израз.

Използвайте (напр.)

CONVERT(DATETIME, 
      CASE WHEN ISDATE(pa.Attribute_Value) = 1 THEN pa.Attribute_Value END)

Не

CONVERT(DATETIME, pa.Attribute_Value)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заключване на променливи в Script Task с помощта на C#

  2. SQL заявка за уебсайт за игра под наем - отчет за доставка на игра

  3. SQL Server 2005 / 2008 - множество файлови групи?

  4. Конфигурирайте Lucene.Net със SQL Server

  5. Как да добавите Failover Partner към низ за връзка във VB.NET