Mit diesem Code ich diesen Fehler hätte:Tsql Operand-Typenkonflikt: Datum ist nicht kompatibel mit int
"Operand type clash: date is incompatible with int"
declare
@StrSql nvarchar(max),
@TableName nvarchar(50),
@Month datetime
set
@TableName = 'dbo.OneTransfer'
set
@month ='2016-02-02'
set
@StrSql ='select * from ' + @TableName + ' where OperateDate >=' + CONVERT(char(10),@Month,20)
execute (@StrSql)
Das ist meine SQL-Tabelle:
nicht einen solchen Code schreiben Sie. Verwenden Sie parametrisierte Abfragen. Durch die Verkettung von Strings werden Sie SQL-Injection-Angriffen ausgesetzt. Konvertierungsfehler wie dieser * und * verhindern, dass Unicode-Daten - wie chinesische Zeichen - übergeben werden. Verwenden Sie 'Select * aus meiner Tabelle, wo OperateDate> = @ Datum 'und verwenden Sie' sp_executesql, um den Date-Parameter übergeben –