- 浏览: 378117 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (225)
- java (76)
- English (2)
- office (2)
- 架构设计 (1)
- 人在职场 (3)
- database (21)
- C# (18)
- 向往的院校 (0)
- C++ (1)
- AJAX (1)
- 操作系统 (8)
- eclipse (1)
- Spring (0)
- Linux (1)
- Javascript (6)
- 离散 (0)
- 协议 (1)
- sql server (5)
- sql server (0)
- fdf (0)
- xml (1)
- sql语句里top和distinct一起用 (1)
- 正则表达式 (7)
- 表达 (1)
- ms server (1)
- SWFObject (0)
- 线程 (2)
- Java线程 (0)
- Android & SQLite (0)
- Android (0)
- window.XMLHttpRequest (0)
- DB pool (0)
- tomcat内存溢出设置JAVA_OPTS (1)
- java bcp (1)
- 文件系统转换 (1)
- Microsoft XMLDom (1)
- tree (0)
- C# installer (0)
- 对付http cc攻击 (0)
- Ckeditor (0)
- MyEclipse (0)
- PDM (0)
- PDM OOM (0)
- asp.net (0)
- tomcat (1)
- Tomcat session (1)
- jdk (0)
- Bootstrap (0)
最新评论
-
kenail:
格式太乱了。
转 使用WebService压缩传输的心得 -
存在即为合理:
写得好乱,但是还是谢谢你的驱动
JDBC连接SQL server 2005 驱动 -
guji528:
长见识了,谢谢分享!
TL1协议(正文信息收集整理来源Internet) -
王大人:
Js window confirm()方法及其使用 -
Eastman:
SqlServer附加数据库出错,错误代码5123
在sql server中,如果我们使用了image,text和ntext类型来存储数据的时候,如何来判断该字段是否含有数据值呢?在oracle中,我们可以通过设定blob类型的变量来直接查询,并判断其内容是否为NULL,但是在sql server中,我们不能通过直接设定image、text和ntext类型的变量来查询,然后再比较,因为这三种类型是不是可用的变量类型,找了很多方法,但是凡是涉及到字符串的函数都无能为力,最后找了一个一个系统函数DATALENGTH ( expression ),该函数直接获取表达式所占用的字节数,而且对上述三种类型都可以进行计算,于是问题解决了。
看一个例子:
CREATE PROCEDURE [dbo].[sp_insertUpdateHotelIntroduction]
@hotelID int,
@introduction ntext ,
@introductionLenght int = 0,
@pictureLen int =0,
@pic image
AS
BEGIN
SET NOCOUNT ON;
select @introductionLenght = DATALENGTH(TxtIntroduction) ,@pictureLen =DATALENGTH(picture) from hotels where ID = @hotelID
if ((@introductionLenght is null) and DATALENGTH(@introduction)>0)
begin
update hotels set TxtIntroduction = @introduction where ID = @hotelID
end
if ((@pictureLen is null) and DATALENGTH(@pic)>0)
begin
update hotels set picture=@pic where ID = @hotelID
end
begin tran mytran
declare @text_NeedInsert binary(16) -- 定义指针
Select @text_NeedInsert = TEXTPTR(TxtIntroduction) from Hotels with(nolock) where id = @hotelID --设置指针
if @text_NeedInsert is not null
begin
WRITETEXT Hotels.TxtIntroduction @text_NeedInsert @introduction
--updatetext Hotels.TxtIntroduction @text_NeedInsert 0 null with log @introduction
end
if @@error<>0
begin
rollback tran mytran
end
else
begin
commit tran mytran
end
if @pic is not null
begin
declare @ptr_NeedInsert binary(16) --定义指针
Select @ptr_NeedInsert = TEXTPTR(Picture) from Hotels where id = @hotelID --设置指针
WRITETEXT Hotels.Picture @ptr_NeedInsert @pic
end
-- update Hotels set TxtIntroduction = @introduction, Picture = @pic where id = @hotelID;其实只这句插入和修改都行了
SET NOCOUNT OFF;
END
DATALENGTH表示的是字节数。nvarchar,ntext,text一个字符或中文就代表两个字节;
select DataLength('abc阿阿') 为 7
LEN查出的是字数
发表评论
-
SQLServer2005删除log文件和清空日志的方案
2017-06-12 10:01 0SQLServer2005删除log文件和清空日志的方案 ... -
my sql 下载安转&my sql front
2016-12-15 14:36 492http://dev.mysql.com/downl ... -
PD调出Comment
2016-11-23 11:45 0kjsdkgfjkgdf、 fglf ... -
PowerDesigner15.1连接SqlServer数据库导出表结构
2016-11-18 11:10 0http://blog.csdn.net/fuck48 ... -
sql server 2005中如何查询一个数据库的信息
2016-11-17 10:23 397use job SELECT * FROM sysobje ... -
SQL SERVER 2005服务启动账号与安全
2016-09-18 11:43 0在Windows操作系统上,每个服务都有一个启动的账号, ... -
数据库攻击
2016-09-13 11:32 0http://wenku.baidu.com/link?url ... -
SQL Server中的命名管道(named pipe)及其使用
2016-09-08 16:17 01. 什么是命名管道? ... -
SQL server无法启动服务,提示“错误1069: 由于登录失败而无法启动服务”
2016-08-26 14:39 0前几天在用户里看到 ... -
mmc检测到此管理单元发生一个错误
2015-08-07 17:13 0win2007 下sql server2005出现 ... -
sql serve2005 top
2015-08-05 13:39 0--返回符合条件的100%的记录,即所有符合条件的记录SELE ... -
SQL SERVER 日志已满的处理方法
2015-07-21 09:55 0事务日志文件Transaction Log File是用来记 ... -
sql server 视图中定义参数
2015-07-17 07:19 0内嵌用户定义函数 内 ... -
修改字段内容的部分内容
2015-06-02 11:12 501update Example set E_memo=repl ... -
sql 同表记录复制
2015-05-22 11:40 0insert into tbl_name(col1, ... -
使用PowerDesigner进行代码生成 .
2015-01-08 10:13 0很多代码生成器都选择了从表结构来生成领域模型,这样的方案有 ... -
如何在SQL Server 2005中建立主外键关系?如何实现级联删除效果? .
2014-12-25 15:24 0问题: 如何在SQL Server 2005中建立主外键 ... -
[转]SqlServer数据库同步方案详解
2014-05-16 12:01 1015SqlServer数据库同步是项目中常用到的环节,若一个项目 ... -
Microsoft SQL 2000 错误代码 (@@error) [转贴]
2014-03-26 10:41 1842vCode ErrorMessage 0 操作成 ... -
日志工具Log Explorer
2014-02-02 05:06 0SQL Server 2000误更新了数据(update语 ...
相关推荐
- `text`和`ntext`在SQL Server中对应Oracle的`CLOB`和`NCLOB`,用于存储大量文本数据。 - `image`在SQL Server中对应Oracle的`BLOB`,用于存储二进制大数据。 接下来,我们讨论SQL Server和Oracle的函数对照: ...
在SQL Server数据库中存储图片是一种常见的需求,尤其是在开发包含多媒体数据的应用程序时。这篇文档将详细探讨如何在SQL Server中存储图片以及如何使用C#语言进行读取和下载操作。 首先,我们来看如何在SQL Server...
- 在SQL Server 2000中,BLOB被用来泛指text、ntext以及image类型的数据。 6. 处理text/image数据的注意事项和建议: - 在使用text、ntext、image数据类型时,需要考虑到排序规则和编码问题,尤其是当存储的数据...
根据提供的文件信息,本文将介绍使用Visual Basic 6.0(简称VB6.0)程序语言存取SQL Server 2000数据库中的图像数据的方法。这一技术应用主要分为存储机制、VB6.0中的实现方法以及操作步骤三个部分。 首先,了解SQL...
8. **字符型(char、varchar、text、nchar、nvarchar、ntext)**:char和nchar为定长字符串,varchar和nvarchar为变长字符串,text和ntext用于大量文本存储。 9. **二进制数据类型(binary、varbinary、image)**:...
在探讨如何使用SQL Server中的Image数据类型进行图像数据存取之前,我们需要明确几个关键概念。首先,Image数据类型属于二进制大对象(BLOB)数据类型的一种,它可以存储超过标准字符限制(32KB)的二进制数据,最大...
17. 变量的数据类型不包括`table`,可以是基本类型如`int`, `varchar`等,或特定类型如`text`, `ntext`, `image`等。 18. `UPDATE`语句用于更新表中的数据,而非数据定义,`CREATE TABLE`, `CREATE CURSOR`, `ALTER...
### 达梦数据库常用SQL语句语法 #### 一、新建表 在达梦数据库中创建新表时,可以通过以下语法实现: ```sql CREATE TABLE [表名] ( [自动编号字段] INT IDENTITY(1,1) PRIMARY KEY, [字段1] NVARCHAR(50) ...
1. WRITETEXT:该函数用于向表中的image、text或ntext字段写入数据。它的基本语法结构是 WRITETEXT {table.column | view.column} text_ptr [WITH LOG] data,其中table.column | view.column指的是表或视图中的字段...
[字段7] IMAGE NULL -- 图像类型,在SQL Server 2008后被BLOB替代 ); ``` #### 二、删除表 删除表是另一种常见的操作。当不再需要某个表时,可以使用以下命令来删除它: ```sql DROP TABLE [表名]; ``` #### 三...
本书不但融合了作者在使用SQL Server 2000过程中遇到的各种常见问题和应用案例,还总结了作者几年来在CSDN 社区SQL Server版所解决的大量问题,面向实际项目需求,涉及不同类型的应用,能够多角度地引导读者学习相关...
NULL/NOT NULL约束决定字段是否允许为空,而其他完整性约束如PRIMARY KEY(主键约束)、UNIQUE(唯一约束)和FOREIGN KEY(外键约束)则确保数据的完整性。创建表时,可以使用CREATE TABLE语句,配合各种约束定义表...
- **字段2**:类型为`ntext`,表示文本类型,`NULL`表示该字段允许为空。 - **字段3**:类型为`datetime`,表示日期时间类型。 - **字段4**:类型为`money`,表示货币类型,`NULL`表示该字段允许为空。 - **字段5**...
例如,在SQL Server或Access中,我们可以创建一个名为`表名`的新表,其结构如下: ```sql CREATE TABLE 表名 ( 主键ID int IDENTITY(1,1) PRIMARY KEY, -- 定义主键,自动增长 字段1 nVarChar(50) DEFAULT '...
本文介绍了如何在JSP页面中调用SQL Server的存储过程,包括数据库表的创建、存储过程的定义及JSP页面的具体实现。这种方式可以提高代码的复用性和安全性,同时也简化了数据库操作的过程。在实际开发中,还可以结合...
Oracle 和 SQL 数据类型是数据库管理系统中用于定义和存储数据的基础组件。它们决定了数据的结构、大小以及如何进行处理。以下是两种数据库系统中主要数据类型的详细比较: **Oracle 数据类型** 1. **Char**: Char...
但当需要存储的图像数据超过这个大小限制时,SQL Server提供了能够存储每行高达2GB二进制对象(BLOB)的机制,这包括image、text和ntext三种数据类型。其中image数据类型专门用于存储二进制数据,其最大长度可以达到2,...
- 注意:在SQL Server中,TEXT, NTEXT, IMAGE类型字段不能直接用于GROUP BY子句中。 #### 数据库分离与附加 14. **分离数据库**: 使用`sp_detach_db`存储过程可以将数据库从SQL Server实例中分离出来。 - 附加...
9.4.1 在Access数据库中实现与SQL Server之间的数据交换 288 9.4.2 实现客户端其他OLE DB数据源与SQL Server之间的数据交换 289 9.4.3 在客户端实现SQL Server数据导入与导出处理的一些说明 289 9.5 在数据库...
10. **变量类型**:`table`不能作为变量的数据类型,而`text`、`ntext`和`image`是大数据类型的字段,而非变量类型。 11. **JOIN操作**:INNER JOIN返回两个表中匹配的行,形成交集。 12. **视图**:视图是虚拟表...