当前位置:数据库 > SQLServer >>

SQL server语句解析

SELECT sys_var_value FROM t_sys_system WHERE Upper ( LTRIM ( RTRIM ( sys_var_id ) ) ) =Upper ( LTRIM ( RTRIM ( 'Prompt_DaysumTime' ) ) ) 分析一下,是什么意思
答案:RTRIM去掉字符串的右空格,
LTRIM去掉字符串的左空格,
Upper把字符串转为大写。
这一句SQL的意思是从比较Prompt_DaysumTime和sys_var_id的值,把值相等的数据SELECT出来,比较不区分大小写,不考虑左右空格 
 
前面的有一个错误
WHERE sys_var_id ='Prompt_DaysumTime' 
yes
是'xxxx_xxx'
ok
是一个值
条件是选中 sys_var_id列中值是 'Prompt_DaysumTime' 的记录,中的SELECT sys_var_value 列的值
这才是正解
ok
其他:查询 sys_var_value 字段 从t_sys_system表,条件是
sys_var_id =prompt_daysumtime
查询条件的值都转成大写了。且去掉两边的空格。 Upper  将字符变量转换成大写。
LTRIM 删除字符变量的起始空格。
RTRIM 删除字符变量的尾随空格。 从t_sys_system  表查询sys_var_value  列 ,条件是 sys_var_id 和 Prompt_DaysumTime 这两列数据各自去掉前后空格,并把小写转换为大写字符之后,两列数据相等。

不过话说sql server 默认值是不区分大小写的,比如 'a' = 'A' 这个等式是成立的 前面的肯定很简单了,后面的自己查一下Upper  TRIM  和LTRIM 以及 RTRIM函数,自己就懂了 意思是取出sys_var_value的值满足在表t_sys_system中sys_var_id = prompt_dayssumtime 的记录, 其中upper是把字符串转成大写, ltrim 和 rtrim是左右去掉空格 就是从t_sys_system表中选取出所有符合,将sys_var_id字段内数据数值左右的空格去除并且全部转换为大写字母,如果与'Prompt_DaysumTime'左右的空格去除并且全部转换为大写字母相等的数据的sys_var_value列的值 

上一个:如何改变sql server 2005数据库的编码方式为gbk形式
下一个:将Excel中的数据导入SQL server 2005,利用VB

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,