SQL查询忽略where where condition的情况

时间:2015-07-14 10:51:53

标签: sql

我试图在SQL查询下运行。$ 1将是传递参数。我需要它不区分大小写。例如:

test.sql server1.net并测试SERVER1.NET(两个值都应该采用,我认为现在下面的查询默认只接受小写的参数) 所以我的要求是,无论情况如何,无论我给出什么价值,查询都应该处理。请帮帮忙?

select * from act_msgs m,node_name nn
where msg_name like '%test%'
and nn.node_name = '$1'

2 个答案:

答案 0 :(得分:0)

在Tsql中,您可以使用UPPER函数:

<?php
     $im = imagecreatetruecolor(120, 20);
     $text_color = imagecolorallocate($im, 233, 14, 91);
     imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);

     header('Content-Type: image/jpeg');

     imagejpeg($im);

     imagedestroy($im);
?>

答案 1 :(得分:0)

默认情况下,Sql Server不区分大小写。因此,提供的值是大写还是小写没有区别。它将被处理。 以下示例将明确说明:

DECLARE @MessageName    VARCHAR(50)
DECLARE @Message TABLE
(
    [ID]            INT
,   [MessageName]   VARCHAR(50)
)

INSERT INTO @Message
(
    [ID]
,   [MessageName]
)
VALUES
    (1, 'first message')
,   (2, 'SECOND MESSAGE')
,   (3, 'Third Message')

现在无论您将变量设置为大写还是小写,查询都将返回输出:

SET @MessageName = 'FIRST MESSAGE'
SELECT * FROM @Message WHERE [MessageName] = @MessageName

结果:

ID MessageName

1 第一条消息

SET @MessageName = 'second message'
SELECT * FROM @Message WHERE [MessageName] = @MessageName

ID MessageName

2 第二封信息