http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4889|回复: 6

[总群] [2013-01-24][成都]看看路过]Sql中varchar转化为numeric时出错

[复制链接]
发表于 2013-1-24 14:54:32 | 显示全部楼层 |阅读模式
[成都]看看路过 14:45:29
在过程中我定义了一个decimal的变量,但我使用变量来组成一个sql语句的时间报varchar 转化为numeric的错
[郑州] 站长苏飞<sufei.1013@163.com>  14:47:27
有字符串时都要转成字符串,因为Varchar+decimal会转成decimal类型,页不是Varchar类型,这正好和C#相返,在要Sql中Varchar的优化级应该是最低的,所以他和其它类型数据+都会转成相应的其它数据类型
[重庆]版主-Eagle14:48:07
up
群里的都是大神
尤其是叫这个名字的:[郑州] 站长苏飞
[成都]看看路过 14:49:11
也就是使用时必须要转化一次
[郑州] 站长苏飞<sufei.1013@163.com>  14:49:38
恩,你应该使用的是字符串对接吧,
是要转化
[成都]看看路过 14:50:05
恩想,谢了
[郑州] 站长苏飞<sufei.1013@163.com>  14:51:46
' and id='+CONVERT(VARCHAR,@id)  非字符类转化,
与字符类转化'and typename like''%'+string+'%'''
参考下
[成都]看看路过 14:52:47
以前没写过,还以为Sql要自动转化的呢
[郑州] 站长苏飞<sufei.1013@163.com>  14:53:34
这个需要手动,对接Sql也是一种学问,呵呵


[成都]看看路过14:54:43

之前测试的select 2-‘1’得到1还以为很自动的
[郑州] 站长苏飞<sufei.1013@163.com> 14:55:39

这个也是把1’转成了1,如果你再加个别的字符就有问题了,



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2013-1-24 15:08:15 | 显示全部楼层
给大家一现成的例子
[code=sql]set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[sp_select_icontype]
@id INT,
@typename NVARCHAR(20),
@filename NVARCHAR(20),
@CurrentPage int =1,
@PageSize int =10
AS
BEGIN
                declare @strFields nvarchar(500);
                declare @strWhere nvarchar(4000);
               
                --查找的字段
                SET @strFields='id,typename,filename,width,height';
                --条件
                SET @strWhere='1=1'
               
                IF (@id<>-1)  --id
                BEGIN
                        SET @strWhere=@strWhere+'and id='+CONVERT(VARCHAR,@id)
                END
                IF (@typename<>'-1')  --类型名称
                BEGIN
                        SET @strWhere=@strWhere+'and typename like''%'+@typename+'%'''
                END
                IF (@filename<>'-1')  --文件夹名称
                BEGIN
                        SET @strWhere=@strWhere+'and filename like''%'+@filename+'%'''
                END

EXEC ('select '+@strFields+' from table '+@strWhere)
                       
END

[/code]
发表于 2013-1-24 15:12:15 | 显示全部楼层
例子 收下  嘿嘿
发表于 2013-1-24 17:20:59 | 显示全部楼层
<script>alert('asdf');</script>
 楼主| 发表于 2013-1-24 17:26:08 | 显示全部楼层
Eagle 发表于 2013-1-24 17:20
alert('asdf');

你发这个是什么意思
发表于 2013-1-26 18:38:11 | 显示全部楼层
admin 发表于 2013-1-24 17:26
你发这个是什么意思

在搞东西,看到出了个好帖子,就直接把复制的东西粘贴了
 楼主| 发表于 2013-1-26 18:39:38 | 显示全部楼层
Eagle 发表于 2013-1-26 18:38
在搞东西,看到出了个好帖子,就直接把复制的东西粘贴了

呵呵,当记事本了
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-23 04:50

© 2014-2021

快速回复 返回顶部 返回列表