为什么MySQL无法识别表值?

时间:2019-01-28 19:35:02

标签: mysql

朋友

出于某种原因,MySQL查询拒绝识别表中的特定值。

该表包含列

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>

<!-- identity transform -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="@runAllManagedModulesForAllRequests[.='true']">
    <xsl:attribute name="runAllManagedModulesForAllRequests">false</xsl:attribute>
</xsl:template>

</xsl:stylesheet>

不返回任何记录!

"idLookUp", "LUgroup", "LUvalue" 
212 adispo AdmICU_Interv
213 adispo AdmICU_noInterv

SELECT * FROM LookUp WHERE LUvalue = "AdmICU_Interv";

返回正确的记录(#212)。

SELECT * FROM LookUp WHERE LUvalue = "AdmICU_noInterv";

返回正确的记录

字符串AdmICU_Interv在其他任何地方都没有找到,也不是保留的短语(据我所知)。我确定我在这里遗漏了一些愚蠢的东西,但是我不知道是什么导致了这种现象。

任何提示,我将不胜感激。谢谢!

乔恩

3 个答案:

答案 0 :(得分:0)

您可以尝试使用trim()隐藏一些字符

SELECT * FROM LookUp WHERE trim(LUvalue) = "AdmICU_Interv";

或类似

SELECT * FROM LookUp WHERE LUvalue like "%AdmICU_Interv%";

答案 1 :(得分:0)

这:

SELECT * FROM Lookup WHERE LUvalue like“%AdmICU_Interv%”

答案 2 :(得分:0)

感谢民间朋友,非常有帮助。是的,那里有些东西我看不到。还是不知道。长度应该为12时为13。使用正确的字符串覆盖可以解决该问题。

由于这是一个查找表,因此我必须返回并使用有问题的条目更新所有记录,但是MySQL可以轻松做到这一点:

UPDATE Lookup SET LUvalue ='AdmICU_Interv',其中LUvalue类似于“%AdmICU_Interv%”;

我非常感谢您解决问题的提示。希望这对其他人有帮助。

欢呼

乔恩