当前位置:首页 » 编程语言 » sql查询字段念中文
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询字段念中文

发布时间: 2022-07-18 07:11:57

A. sql数据库的英文字段,如何在程序中显示成中文

  1. Alias (as)

    通过使用 SQL,可以为列名称和表名称指定别名(Alias)。

  2. 语法:(列的 SQL Alias 语法)

    SELECT column_name AS 中文名称
    FROM table_name

  3. 扩展(表的sql alias 语法)

    SELECT column_name(s)FROM table_name
    AS alias_name

  4. 创建测试表并且生成数据

    create table tb

    ( spid varchar(11),

    spmch varchar(20),

    shl numeric(10,2) )

    insert into tb

    values ('01','苹果',10),

    ('02','梨子',20)

  5. 测试结果:

    select spid as 商品id,spmch as 商品名称,shl as 商品数量 from tb

    结果:

B. 查找字段值有中文的sql语句

select * from table1 where PATINDEX(N'%[吖-咗]%',字段) >0
或者
select * from table1 where 字段 like '%吖-咗%'

原理是使用通配符的 - 符号 使字符匹配汉字字符范围
同理 可以反其道而行 让其取非英文、标点符号的字符串,但这样通配符不好写

如果是mysql 或者其他可以使用正则表达式匹配的就很简单了

C. oracle sql 判断 字段是否是汉字

1、使用ASCIISTR函数判别

ASCIISTR函数说明:ASCIISTR返回字符的ASCII形式的字符串。非ASCII的字符被转化为xxxx的形式。使用ASCIISTR函数也是根据非ASCII字符会被转化这个特性来判别中文字符,只要里面包含中文字符,则必定会有xxx这样的字符。

使用 ASCIISTR(NAME_ONE) LIKE '%\%' 就能判别那些有中文的记录。如下所示:

SELECT NAME_ONE FROM TEST WHERE ASCIISTR(NAME_ONE) LIKE'%\%'

2、使用CONVERT函数判别

CONVERT函数说明:

CONVERT(inputstring,dest_charset,source_charset)

inputstring:要转换的字符串

dest_charset:目标字符集

source_charset:原字符集

3、使用函数length和lengthb来判别

使用函数length与lengthb来判别,是基于中文字符占用2~4个字节,而ASCII字符占用一个字节,那么对比LENGTH与LENGTHB就会不一样。这样就能判别字段中是否包含中文字符,但是跟ASCIISTR一样,如果里面的非ASCI字符包含非中文,它一样不能判别。依然有取巧嫌疑。

SELECT NAME_ONE FROM TEST WHERE LENGTH(NAME_ONE) != LENGTHB(NAME_ONE);

(3)sql查询字段念中文扩展阅读

Oracle SQL编写注意事项:

1、SQL语句用大写的;因为Oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。

2、数据表最好起别名;因为便于sql优化器快速分析。

3、尽量不要使用 insert into table value(?,?,?,?,?)格式,要指出具体要赋值的字段。INSERT.....SELECT的效率会有提高。

4、select与from语句之间只定义返回的字段名,除非返回所有的字段,尽量不要使用 * 。

5、select字段名应按照表的字段物理顺序编写,字段提取要按照“需多少、提多少”的原则,原因是大批量数据的抽取会影响sql缓存的效率。

6、COUNT(*)也是要避免的,因为Count(*)会对全字段做聚集。但一般的观点相反, count(*) 比count(1)稍快 , 当然如果可以通过索引检索,对索引列的计数仍旧是最快的. 例如 COUNT(EMPNO)。

7、条件中使用or 会引起全表扫描,比较影响查询效率,尽可能少用或不用,实在不行可以用UNION代替。

D. SQL问题,比如表中有个字段 A,它的值一般都是 数字 跟 中文 两种,如何查询出值为 中文 的记录

select*fromtablewhereISNUMERIC(column)=0--这个是查询出非纯数字的明细
如果需要找出纯中文的,那么需要用正则表达式
CREATEFunction[dbo].[RemoveNonNumericCharacters](@TempVarChar(1000))
ReturnsVarChar(1000)
AS
Begin

WhilePatIndex('%[^0-9]%',@Temp)>0
Set@Temp=Stuff(@Temp,PatIndex('%[^0-9]%',@Temp),1,'')

Return@TEmp
End

E. sql查询所有包含中文的数据

判断length(content)和lengthb(content)是否相等,如果不相等则包含中文,否则全英文。
length(content)计算content的字符个数,一个中文字符长度为1;
lengthb(content)计算content的字节位数,一个位长度为1,一个中文字符长度为2。

1楼说的不对

F. sql表为中文的查询语句

和英文的基本一样.
除非你中文里面包含空格什么的, 就要额外处理了.

比如 Oracle 用双引号
SELECT * FROM "中文 表名"

SQL Server 用 []
SELECT * FROM [中文 表名]

MySQL用 ` ( 标准键盘 数字1 左边的那个符号)
SELECT * FROM `中文 表名`

G. sql查询出来的结果将某字段值显示中文

先看源数据是不是中文,一般sql不会改变字段的值和类型

H. 为什么SQL语句不可以查询中文字段

数据库中的表字段名不能为中文。比如你的“桌号”就是表“tableuse”的一个字段,故不能为中文,你可以把表中的字段名改为“tableno”,然后把SQL语句改为String execute="delete from tableuse where tableno=\""+tableNumber+"\";"; 就行了!

I. SQL 查询语句有中文字段,查不到结果,如何解决

从你的“语句:select
SubCategory
from
tblSubCategory
where
MainCategory
=
'固定资产'”中来看,字段有“SubCategory
”和“MainCategory
”两个,只有字段“MainCategory
”的值是
'固定资产':是中文;
再者你所说“字段用的是繁体中文”,理解有点晕,也许你说错了吧,不如你把“固定资产"改成繁体中文“固定资产”
试试吧。。。。。快给分。。。。。。

J. sql语句有中文,乱码怎么解决

如果SQL Server 系统排序规则为"SQL_Latin1_General_CP1_CI_AS",那么数据库及数据库字段排序规则都默认为"SQL_Latin1_General_CP1_CI_AS",如果字段为varchar,插入中文,数据库显示为"?",且数据无法修复。解决办法如下:
1。 修改字段排序规则为"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入语句中,中文字符前加"N",可以插入中文字符。
2。 修改数据库排序规则为"Chinese_PRC_CI_AS",字段保持varchar,SQL语句不变,插入中文失败,查看字段属性后发现,字段排序规则实际上没有变化,还是默认为"SQL_Latin1_General_CP1_CI_AS",再修改字段排序规则,varchar不变,SQL不变,可以插入中文字符。
总结:
1。 修改系统排序规则没有试过。
2。 修改数据库排序规则不会把数据库中字段的排序规则改掉,但是为了显示中文,数据库排序规则必须改。
3。 仅仅修改字段排序规则,还不能完全解决问题。