如果我们数据库的ID设置为
varchar
型的 在查询的时候order by id的话我们是不希望看到如下情况的。
我们可以把
varchar
转换为int 然后进行排序一、 代码如下: select * from yourtable order by cast(yourcol as int); 适用于
SQLServer
Oracle 二、 代码如下: select * from yourtable order by convert(int,yourcol); 仅适用于
SQLServer
作者 itmyhome
您可能感兴趣的文章:SQL S
varchar
在SQL Server中是采用单字节来存储数据的,n
varchar
是使用Unico来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unico编码),英文字符保存到数据库中,如果字段的
类型
为
varchar
,则只会占用一个字节,而如果字段的
类型
为n
varchar
,则会占用两个字节。
正常情况下,我们使用
varchar
也可以存储中文字符,但是如果遇到操作系统是英文操作系统并且对中文字体的支持不全面时, 在SQL Server存储中文字符为
varchar
会出现乱码(显示为??)。而且正常情况下,主机都会支持中文的环境,所以如果使用
varchar
来存储数据
最开始我是用
Blog转换String(到Oracle)
select utl_raw.cast_to_
varchar
2(dbms_lob.substr(LITHOLOGY_OILNESS_DESC2,4000,1)) A,CHANNELID from ML_ACH_CUTTINGS
之前我是把SQL Server的image字段直接抽取到Oracle库里(image字段中存的是字符串),然后再用...
在数据库中经常使用到的几个数据
类型
,往往仔细去想其区别的时候,记得之前了解过,但印象不深刻,这里归纳总结下:
char:固定长度,存储ANSI字符,不足的补英文半角空格。
nchar:固定长度,存储Unicode字符,不足的补英文半角空格
varchar
:可变长度,存储ANSI字符,根据数据长度自动变化。
n
varchar
:可变长度,存储Unicode字符,根据数据长度自动变化。
长度固定或可变的字符串数据
类型
。
char[ ( n) ]
固定长度,非 Unicode 字符串数据。 n 用于定义字符串长度,并且它必须为 1 到 8,000 之间的值。 存储大小为 n 字节。 char 的 ISO 同义词为 character。
varchar
[ ( n | max) ]
可变长度,非 Unicod...
其中,column_name 为要转换的列或变量名,length 为要转换的字符串的最大长度。例如,要将一个整数列转换为长度为 10 的
varchar
类型
,可以使用以下语句:
```sql
SELECT CAST(int_column AS
VARCHAR
(10)) FROM my_table
```sql
SELECT CONVERT(
VARCHAR
(10), int_column) FROM my_table