select * from 表 order by len(字段);长度,由短到长select * from 表 order by len(字段)desc;长度,由长到短select * from 表 order by 字段;大小,由小到大select * from 表 order by 字段 desc;大小,由大到小
SELECT b.列1,LEFT(List,LEN(List)-1) as Num FROM (SELECT 列1,(SELECT 列2+',' FROM 表 WHERE 列1=a.列1 FOR XML PATH('')) AS ListFROM 表 a GROUP BY 列1) b
不太看得懂你的描述,我就知道如果是数据库是orecle的话用to_number(字符串)把字符串转换为数字。
在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') wheredd.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 说明这个函数对字段值中全是数字但是数字间用“,”和“.”(逗号或点)隔开的都视为数字了!在使用mysql中,经常遇到要将字符串数字转换成可计算数字,现总结 了几种方式: 1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b,'0') 这样就会导致 a/b成了字符串,因此需要把'0'改成0,即可解决此困扰3.比较数字和varchar时,比如a=11,b="11ddddd";则 select 11="11ddddd"相等若绝对比较可以这样:select binary 11 =binary "11ddddd"4.字符集转换 : CONVERT(xxx USING gb2312)类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型),类型必须用下列的类型:可用的类型: 二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : DATE 时间: TIME 日期时间型 : DATETIME 浮点数 : DECIMAL 整数 : SIGNED 无符号整数 : UNSIGNED 方法一:SELECT CAST('123' AS SIGNED);方法二:SELECT CONVERT('123',SIGNED);方法三:SELECT '123'+0;
到此,以上就是小编对于sql排序字符串的问题就介绍到这了,希望介绍的3点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。
sqlserver如何导入excel数据如何能把excel大量数据快...
Ubuntu系统下可以做什么1+xweb中级考核内容包括什么Ub...
五张表关联查询语句SQL怎么写从多个表中查询数据的sql语句SQL一...
数学问题复合函数有没有同奇异偶这个性质奇异函数平衡原理奇异函数平衡法...
周期函数excel剩余周数函数公式excel月份星期函数公式周期函数...
2、字符集选gbk。
3、打开数据库,把它变成绿色。
4、把SQL文件拖到这数据库上。会出现下边的运行SQL文件对话框,按开始,等运行完后就可以关掉了。
5、最后在左边空白处的新数据库上对应的项目上右键,刷新就能看到刚刚拖进去的数据库的内容了。
1、打开Navicat for MySQL,右击打开连接。
2、右击新建数据库,在新建窗口命名新建数据库,点击确定即可。
3、打开新建数据库,或者双击打开即可。
4、右击数据库,在选项卡找到运行SQL文件,运行SQL文件。
5、选择打开文件窗口,在打开窗口选择SQL文件路径,打开SQL文件。
6、在运行窗口点击开始即可,运行完成,关闭窗口,选择表,右击选择刷新,即可看到数据表。
7、SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。
8、SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。
方法一、使用数据库软件
数据库软件比较多,有SQL Server|MySQL与在线版的phpmyadmin" class="zf_thumb" width="48" height="48" title="sql文件打开(数据库文件如何打开)" />
from 学生表
where 学号 not in ( select distinct 学号 from 成绩表 )
可以。
一个值根据某个规则以另一种形式展现可用decode()方法,
decode(columnname,值1,翻译值1,值2,翻译值2,……缺省值)
举例:
表Test_user:
1、单个decode的使用
对所有用户类型为1的用户进行启用,用户类型不为1的,已被激活的启用,未被激活的禁用:
update test_user t set t.is_available=decode(t.user_type,'1','1',t.is_actived),t.is_actived=decode(t.user_type,'1','1',t.is_actived);
2、decode()函数的嵌套使用
1中的sql语句也可以像下面这么写:下面这么写逻辑性更强
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值,update语句的写法:
1、UPDATE table_name
2、SET column1=value1,column2=value2,...
3、WHERE column(1)=value(1),column(2)=value(2)...and column(n)=value(n);
4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing" class="zf_thumb" width="48" height="48" title="sql语句嵌套(sql语句嵌套查询)" />
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法
REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' )
参数
''string_replace1''
待搜索的字符串表达式。string_replace1 可以是字符数据或二进制数据。
''string_replace2''
待查找的字符串表达式。string_replace2 可以是字符数据或二进制数据。
在SQL Server中,REPLACE函数用于替换字符串中出现的指定子字符串。它接受三个参数:原字符串,要被替换的子字符串和替换后的子字符串。
该函数会查找原字符串中的所有匹配项,并将其替换为指定的字符串。如果原字符串中不存在要替换的子字符串,则不会发生任何更改。使用REPLACE函数可以轻松地进行字符串替换操作,例如将某些特定字符替换为其他字符或将一部分文本替换为其他文本。这在数据清洗和字符串处理中非常有用。
12。replace('string" class="zf_thumb" width="48" height="48" title="SqlServer中REPLACE函数的使用,sql替换字符串函数" />