A. sql 语句根据字段值,数字0-7转换对应的汉字!!!
alter
table
table1
add
no_id
char(12)
not
null
unique
你想加入
非空的字段,但是数据库原来是有数据的,因此会冲突,所以不能加非空的字段。
你可以先加
允许空的字段,再填入数据,再修改为
非空字段即可。
B. sql一个表A有多列数据是字母,需要关联字典表B,将这多列字母转为汉字。
selecta.*,b1.汉字,b2.汉字fromAa
leftjoinBb1ona.字段1=b1.字段
leftjoinbb2ona.字段2=b2.字段
如果有再多字段就后面 left join 往上加
C. SQL数据库和网页之间汉字转化问题
你所说的不能匹配原因有二:
第一: 你应该确定你写的sql配置关键字是没问题的,如like '%中国%',最好你先debug一下
第二: 就是sql是正确的,但由于乱码问题,导致不能匹配,这种情况就要处理乱码问题,如下:
1.设置你页面上的编码,一般可以通过contentType设置,假设你设置的是UTF-8的编码
2.设置server.xml connector标签,加上一个属性,URIEncoding="UTF-8"(如果你页面的编码是GBK,那就设置为GBK)
你就不用再设置request的编码了,因为URIEncoding已经做了编码转换
或者用过滤器,实现编码转化,例子如楼上所述,但注意根据你的实际编码改变<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
其中的param-value值
希望以上能帮助你解决问题
D. sql 存储过程怎么将读入的数字转化为文字
稍等下,我把你刚刚结束问题的补充说明看下
是这样的,我不知道你给客户做的默认值假如修的话,以前的数据需不需要一起更改,假如是用视图的话,以前的数据是会一起跟着改动的。
如果你是需要这种效果的话,我可以把视图的那种方式跟你说下。如果不是,我在考虑下,看看还有没有更好的办法!
补充:
看到了!我有个折中的方法,就是你在往A表插入数据的时候就用存储过程,然后再存储过程里面读取B表的数据,将数据插入A。你看行不行?
create
procere
InsertValue
(@fieldA
as
varchar(20),@fieldB
as
varchar(20),@fieldC
as
varchar(20))
as
begin
Set
NoCount
On--关闭返回,这样用程序执行的时候才能将这个存储过程加到一个事务里面,如果没有事务,可删除
Declare
@field1
as
varchar(20),@field2
as
varchar(20),@field3
as
varchar(20)
select
top
1
@field1=字段1,@field2=字段2,@field3=字段3
from
表B
insert
into
表A
Select(@fieldA,@fieldB,@fieldC,@field1,@field2,@field3)
Set
NoCount
Off
--和前面的ON对应
end
执行的时候用:exec
InsertValue
('a',
'b',
'c')
希望对你有帮助
E. sql 语句根据字段值,数字0-7转换对应的汉字!!!
那是肯定不会变,case 后面 as一下起个别名,别名这里一列才是中文。
F. 求SQL英文字段转变为中文显示的方法
使用别名就可以了。例如下面的方式:
select col_name as 中文字段名 from table
G. sql中如何将阿拉伯数字转为汉字
Create Procere AtoC
@ChangeMoney Money
as
Set Nocount ON
Declare @String1 char(20)
Declare @String2 char(30)
Declare @String4 Varchar(100)
Declare @String3 Varchar(100) –从原A值中取出的值
Declare @i int –循环变量
Declare @J Int –A的值乘以100的字符串长度
Declare @Ch1 Varchar(100) –数字的汉语读法
Declare @Ch2 Varchar(100) –数字位的汉字读法
Declare @Zero Int –用来计算连续有几个零
Declare @ReturnValue VarChar(100)
Select @ReturnValue = ”
Select @String1 = ‘零壹贰叁肆伍陆柒捌玖’
Select @String2 = ‘万仟佰拾亿仟佰拾万仟佰拾元角分’
Select @String4 = Cast(@ChangeMoney*100 as int)
select @J=len(cast((@ChangeMoney*100) as int))
Select @String2=Right(@String2,@J)
Select @i = 1
while @i<= @j Begin
Select @String3 = Substring(@String4,@i,1)
if @String3<>‘0′ Begin
Select @Ch1 = Substring(@String1, Cast(@String3 as Int) + 1, 1)
Select @Ch2 = Substring(@String2, @i, 1)
Select @Zero = 0 –表示本位不为零
end
else Begin
If (@Zero = 0) Or (@i = @J – 9) Or (@i = @J – 5) Or (@i = @J – 1)
Select @Ch1 = ‘零’
Else
Select @Ch1 = ”
Select @Zero = @Zero + 1 –表示本位为0
–如果转换的数值需要扩大,那么需改动以下表达式 I 的值。
Select Ch2 = ”
If @i = @J – 10 Begin
Select @Ch2 = ‘亿’
Select @Zero = 0
end
If @i = @J – 6 Begin
Select @Ch2 = ‘万’
Select @Zero = 0
end
if @i = @J – 2 Begin
Select @Ch2 = ‘元’
Select @Zero = 0
end
If @i = @J
Select @Ch2 = ‘整’
end
Select @ReturnValue = @ReturnValue + @Ch1 + @Ch2
select @i = @i+1
end
–最后将多余的零去掉
If CharIndex(‘仟仟’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘仟仟’, ‘仟’)
If CharIndex(‘佰佰’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘佰佰’, ‘佰’)
If CharIndex(‘零元’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘零元’, ‘元’)
If CharIndex(‘零万’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘零万’, ‘万’)
If CharIndex(‘零亿’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘零亿’, ‘亿’)
If CharIndex(‘零整’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘零整’, ‘整’)
If CharIndex(‘零佰’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘零佰’, ‘零’)
If CharIndex(‘零仟’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘零仟’, ‘零’)
If CharIndex(‘元元’,@ReturnValue) <> 0
Select @ReturnValue = Replace(@ReturnValue, ‘元元’, ‘元’)
Select @ReturnValue
GO
H. sql 日期月份怎么转化成汉字的月份 如:select month from aaa 结果:2010-8-24
select case aaa.id when 1 then '一月'
when 2 then '二月'
when 3 then '三月'
when 4 then '四月'
when 5 then '五月'
when 6 then '六月'
when 7 then '七月'
when 8 then '八月'
when 9 then '九月'
when 10 then '十月'
when 11 then '十一月'
else '十二月' end
from aaa
I. SQL怎么把某列的数字转为汉字,同时保证已有的汉字不变,数字为另一张表里面的编码
select isnull(a.name,b.name)
From a
Left join B on a.name=b.id
就这样处理就好
J. SQL语句,通过asc(mid(username,1,1)函数,获得的中文的ASCii码,怎么转换成中文。
这个应该是ACCESS中的问题
可以使用chr函数将ascii码转回对应的字符。例如:
chr(-12091) 返回 '信'
对应的中文,请参阅下图