语句如下
SET @SQL_INSERTURI = ''
SET @SQL_INSERTURI = @SQL_INSERTURI +
'INSERT INTO M_BCMEISAI_URI ( KEIJ_NEN , KEIJ_KI , WEEK_YMD , FIX_KBN ...... ) VALUES (''' +
@KEIJ_NEN + ''','''+ @KEIJ_KI + ''',''' + Cast( @INS_WEEK_YMD As Varchar) + ''',''' + CAST(@FIX_KBN As Varchar) + ''',''' .........
+ ''')'
PRINT @SQL_INSERTURI
EXEC(@SQL_INSERTURI)字段类型如下:
@INS_WEEK_YMD DATETIME
FIX_KBN DECIMAL(15,3)这两个字段我是用 CAST(**** As Varchar) 处理的。可不可以?
对于那个时间类型,我插入Cast( @INS_WEEK_YMD As Varchar)的值是2007-03-14 20:29:00.000但是不用这种类型转换,直接插入@INS_WEEK_YMD的值是2007-03-14 20:29:36.890我想插入的是2007-03-14 20:29:36.890 应该怎么处理?
SET @SQL_INSERTURI = ''
SET @SQL_INSERTURI = @SQL_INSERTURI +
'INSERT INTO M_BCMEISAI_URI ( KEIJ_NEN , KEIJ_KI , WEEK_YMD , FIX_KBN ...... ) VALUES (''' +
@KEIJ_NEN + ''','''+ @KEIJ_KI + ''',''' + Cast( @INS_WEEK_YMD As Varchar) + ''',''' + CAST(@FIX_KBN As Varchar) + ''',''' .........
+ ''')'
PRINT @SQL_INSERTURI
EXEC(@SQL_INSERTURI)字段类型如下:
@INS_WEEK_YMD DATETIME
FIX_KBN DECIMAL(15,3)这两个字段我是用 CAST(**** As Varchar) 处理的。可不可以?
对于那个时间类型,我插入Cast( @INS_WEEK_YMD As Varchar)的值是2007-03-14 20:29:00.000但是不用这种类型转换,直接插入@INS_WEEK_YMD的值是2007-03-14 20:29:36.890我想插入的是2007-03-14 20:29:36.890 应该怎么处理?
改用
Convert(Varchar, @INS_WEEK_YMD , 121)
Select @INS_WEEK_YMD = '2007-03-14 20:29:36.890'
Select Convert(Varchar, @INS_WEEK_YMD , 121)
--Result
/*
2007-03-14 20:29:36.890
*/
VALUES (@KEIJ_NEN , @KEIJ_KI ,@INS_WEEK_YMD, @FIX_KBN...)
declare @dt datetime
set @dt='2007-03-14 20:29:36.890'
select convert(varchar,@dt,121)
select @dt
select convert(varchar(8000),@date,121)
/*
2007-03-14 20:29:36.890(所影响的行数为 1 行)*/
问题解决了,
TO paoluo(一天到晚游泳的鱼)
语句我没有写完,'INSERT INTO M_BCMEISAI_URI ( KEIJ_NEN , KEIJ_KI , WEEK_YMD , FIX_KBN ,'+ @MAX_TR_SU_COL +......后面对插入的列也有要求,所以@MAX_TR_SU_COL代表不同的列,条件不同@MAX_TR_SU_COL的值也不同,所以就只能用拼写字符串的方法了!
警告作为参数传递给此函数的节点集的字符串转换可能会产生意外的结果。有关更多信息,请参见 string 函数。此函数区分大小写。
示例示例以下函数调用返回“234”:substring("12345",2,3) 以下函数调用返回“2345”:substring("12345",2) 返回的子字符串包含如下字符:字符位置大于或等于第二个参数的舍入值,且如果指定了第三个参数,小于第二个和第三个参数的舍入值之和。上面使用的比较和加法遵循 IEEE 754 标准规则;如同调用 round() 函数一样进行舍入。下列示例阐释异常情况。substring("12345", 1.5, 2.6) 返回“234”substring("12345", 0, 3) 返回“12”substring("12345", 0 div 0, 3) 返回 ""substring("12345", 1, 0 div 0) 返回 ""substring("12345", -42, 1 div 0) 返回 "12345"substring("12345", -1 div 0, 1 div 0) 返回 ""该示例演示前一个 substring() 表达式。
这个是C#的语法