A. 如何使用sql语句将其变为字符串
先检查金额列的数据是否都符合小数规范 用 cast(金额 as decimal(10,4))>500 或者 convert(decimal(10,4),金额)>500 试试 decimal的长度和小数位数根据自己需要设定
B. SQL中怎么将字符串转
在SQL SERVER 2005中,将表中字符串转换为数字的函数共2个:
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
说明这个函数对字段值中全是数字但是数字间用“,”和“.”(逗号或点)隔开的都视为数字了!
C. SQL语句中, 怎样把日期转为字符串
CONVERT
(data_type[(length)],
expression
[,
style])
参数
expression
data_type
目标系统所提供的
数据类型
,包括
bigint
和
sql_variant。不能使用用户
定义
的数据类型。有关可用的数据类型的更多信息,请参见数据类型。
length
nchar、nvarchar、char、varchar、binary
或
varbinary
数据类型的可选参数。
style
日期格式
样式
,借以将
datetime
或
smalldatetime
数据转换为字符数据(nchar、nvarchar、char、varchar、nchar
或
nvarchar
数据类型);
或者
字符串
格式样式,借以将
float、real、money
或
smallmoney
数据转换为字符数据(nchar、nvarchar、char、varchar、nchar
或
nvarchar
数据类型)。
在表中,左侧的两列表示将
datetime
或
smalldatetime
转换为字符数据的
style
值。
给
style
值加
100,可获得包括世纪数位的四位年份
(yyyy)。
D. 怎么把sql date都转换为string
使用类似下面的语句:
select Convert(varchar(10),getdate(),120)
注意里面的 Convert() 函数。
1.定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
2.语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
E. 如何用SQL语句批量替换数据库字符串
方法一:varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 替换 text ntext 数据类型字段的语句 。
1
update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么')
方法二:
1
update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么')
F. 如何用plsql语句把一个表的所有列都转换为字符型
方法一:varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace
替换
text
ntext
数据类型字段的语句
。
update
表名
set
字段名=replace(cast(与前面一样的字段名
as
varchar(8000))
,'原本内容','想要替换成什么')
方法二:
update
[表名]
set
字段名
=
replace(与前面一样的字段名,'原本内容','想要替换成什么')