[求助]为什么显示只一条记录?
我在查询分析器里,输入这条sql语句select * from d_retail where left(retailid,16)='PSZY05-2006-6-29',结果只显示一条数据,显示只是29号的第一条数据,而我想显示6月29号的所有数据。在此想问一下,这是怎么回事,是这条语句不完整,还是什么其它原因。
请各位高手指点。谢谢!
我在查询分析器里,输入这条sql语句select * from d_retail where left(retailid,16)='PSZY05-2006-6-29',结果只显示一条数据,显示只是29号的第一条数据,而我想显示6月29号的所有数据。在此想问一下,这是怎么回事,是这条语句不完整,还是什么其它原因。
请各位高手指点。谢谢!
语句好象看不出什么问题来,不知道retailid字段里的内容前面是否会有空格存在.
添加个ltrim()试试.
left(ltrim(retailid),16)='PSZY05-2006-6-29'
还有就是确保29号有不止一条记录.数据格式为:PSZY05-yyyy-mm-dd,月份6与06的区别等.
如果PSZY05长度不确定
那么用
substring(retailid,charindex('-',retailid)+1,10)='2006-06-29'
不管哪种写法,效率上都不会高