以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]SQLReplaceFor中的表达式 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191447) |
-- 作者:jyh7081 -- 发布时间:2024/4/17 8:49:00 -- [求助]SQLReplaceFor中的表达式 蓝老师好! 下面的代码,是想更新[正确率历史]列为空的值,用本行的[生成日期]、[平均正确率]、[正值正确率]、[负值正确率]的列值拼接,拼接成“2024-04-15(63.89/86.67/47.62)”样的格式~ 运行代码提示“类型 生成日期 不是已定义的系统类型。”,这种情况应该怎样修改? 谢谢! Dim cnt As Integer cnt = DataTables("趋势汇总").SQLReplaceFor("正确率历史","Convert([生成日期],\'System.String\') & \'(\' & [平均正确率] & \'/\' & [正值正确率] & \'/\' & [负值正确率] & \')\'", "正确率历史 is null", True) Output.Show("合计更新了" & cnt & "条记录的折扣!") |
-- 作者:有点蓝 -- 发布时间:2024/4/17 9:03:00 -- 什么数据库? |
-- 作者:jyh7081 -- 发布时间:2024/4/17 9:13:00 -- SQLserver |
-- 作者:有点蓝 -- 发布时间:2024/4/17 9:57:00 -- DataTables("趋势汇总").SQLReplaceFor("正确率历史","Convert(nvarchar(10),[生成日期],120) + \'(\' + [平均正确率] + \'/\' + [正值正确率] + \'/\' + [负值正确率] + \')\'", "正确率历史 is null", True) 不同数据库的函数用法不一样的:https://www.baidu.com/s?wd=SqlServer%20Convert
|
-- 作者:jyh7081 -- 发布时间:2024/4/17 10:11:00 -- 提示:
|
-- 作者:有点蓝 -- 发布时间:2024/4/17 10:40:00 -- 到后台数据库,里看上面哪些列是ntext,改为nvarchar(max). 另外看看那些是数值列,也要转换为字符串:https://www.baidu.com/s?wd=SqlServer%20Convert
|
-- 作者:jyh7081 -- 发布时间:2024/4/17 11:57:00 -- 好了~ 谢谢! Dim cnt As Integer cnt = DataTables("趋势汇总").SQLReplaceFor("正确率历史", "Convert(nvarchar(10),[生成日期],120) + \'(\' + CAST([平均正确率] AS nvarchar) + \'/\' + CAST([正值正确率] AS nvarchar) + \'/\' + CAST([负值正确率] AS nvarchar) + \')\'", "正确率历史 is null", True) Output.Show("合计更新了" & cnt & "条记录的折扣!")
|