sqlserver转换符,sqlserver转义字符

sqlserver中如何把字符串转换成数字

在SQL SERVER 2005中,将表中字符串转换为数字的函数共2个:

成都创新互联-专业网站定制、快速模板网站建设、高性价比于都网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式于都网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖于都地区。费用合理售后完善,十年实体公司更值得信赖。

1. convert(int,字段名) 例如:select convert(int,'3')

2. cast(字段名 as int) 例如:select cast('3' as int)

其实,一般情况下没有必要把字符串转换为数字类型

假如需要比较两个字段是否相等,但是一个字段为字符串类型,一个为数字类型,用“=”比较两个值是否相等时,SQL SERVER会自动把字符串转换为数字再比较的!

例如:

select da.TITLE_NAME,dsc.NAME

from dbo.DV_DUTY dd

inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA)

left join DV_ASSET da on(da.ID=dd.RECORD_ID and dd.TYPE='2')

where dd.AREA is not null

这个SQl中,inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA) 中dsc.ID为数字类型,dd.AREA为字符类型,相当于这样on(1='1')的判断,这时候就会自动吧字符串的'1'转换为数字类型再比较的。

但是也有弊端,一旦字符类型转换为数字类型出错(说明字符串的确就非数字组成的),SQL就会抛出异常。

SQL SERVER 2005中有判断字段是否为数字的函数:

ISNUMERIC(字段名) -----假如字段是数字类型返回1,不是就返回0

但是好像有的时候不好使,比如:select isnumeric('3,34') 就返回1

说明这个函数对字段值中全是数字但是数字间用“,”和“.”(逗号或点)隔开的都视为数字了!

sql server中的怎么把数值型转换为字符串

有两种。

1.转换(int,字段名)

例如:选择convert(int,'3')

选择cast('3'作为int)

一般来说,没有必要将字符串转换为数字类型,如果你需要比较两个字段是相等的,但为字符串类型字段,类型,用“=”来比较这两个值是相等的,SQLSERVER将自动将字符串转换为一个数字,然后比较。

扩展资料:

注意事项:

这两个函数都执行强制转换,但是语法不同。据说有一些不同的转换,但我更习惯于使用转换函数,它更像一个函数的语法一方面,可以指定的格式转换,将时间和价值转换为一个字符串。

对于数据类型的确切值,转换后的字符串是我们存储的值。如:

声明@iintset@i=123456789print'test:'+转换(varchar(20),@i)

输出是:test:123456789

对于具有近似值的数据类型,情况就不那么简单了。

声明@ifloatset@i=123456789print'test:'+转换(varchar(20),@i):test:1.23457e+008

转义字符有都哪些?

转义字符有:\a、\b、\n、\f、\t、\v等。

除此之外还有如HTML转义符、java转义符、xml转义符、 oracle转义符、sql转义符 、sqlserver 转义符、php转义符、asp转义符、vb转义符、 javascript转义符等等,还有网址中的百分号。

以下是转义字符用处的相关介绍:

转义无非是两种情况:将普通字符转为特殊用途,一般是编程语言中,用于表示不能直接显示的字符,比如后退键,回车键等。用来将特殊意义的字符转换回它原来的意义。

一般用在正则表达式中。还有有些脚本语言是弱类型,有些语言比如html 并不是编程语言,而是标记语言,有些语言只有一种类型,比如shell脚本语言,这些语言中字符串都不加引号” ” ,或者可以不加引号“ ”,所以有时候需要转义字符说明某字符此时的身份是普通字符,而不是有特殊意义的元字符。

以上资料参考百度百科——转义字符

sqlserver如何把日期转化为字符串

你看下你日期是datetime类型还是varchar类型

如果是varchar类型

select replace(replace(replace(日期字段,'-',''),':',''),' ','') from 表名

如果是datetime类型

select replace(replace(replace(convert(varchar,日期字段,120),'-',''),':',''),' ','') from 表名

日期'>sqlserver类型转换:字符串->日期

不知道你的字符串类型的日期是什么样子的,下面有一个例子:

Test_OldTable是包含19990101等nvarchar数据类型的表,

Test_NewTable是包含DateTime数据类型的表

sql语句:

INSERT INTO Test_NewTable(NewDate)

SELECT CAST(OldDate AS DateTime)

FROM Test_OldTable

其他的方法还有很多,给你个链接,看看吧,网上多找找

SqlServer 替换字符,比如:12345(789),替换成:789,其中括号有可能是全角(),也有可能是半角()

declare @b int

set @a = '123'

set @b = 123

cast(@a as int)--就是把@a转换为int类型的

cast(@b as varchar(20))--就是把@b转换为varchar类型的

declare @a varchar(20)

set @a = '12345(789)'

print left(@a, CHARINDEX ('(',@a,1)-1 )

--输出12345


分享标题:sqlserver转换符,sqlserver转义字符
网页链接:http://hbruida.cn/article/dsidgsc.html