# Format Specifiers and String Concatenation

**URL:** <https://forum.inductiveautomation.com/t/format-specifiers-and-string-concatenation/5254>\
**Category:** Ignition\
**Created:** [October 9, 2012, 5:23pm UTC](https://forum.inductiveautomation.com/t/format-specifiers-and-string-concatenation/5254 "2012-10-09T17:23:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mcgheeiv](https://avatars.discourse-cdn.com/v4/letter/m/71c47a/32.png) [@mcgheeiv](https://forum.inductiveautomation.com/u/mcgheeiv)\
**Post date:** [October 9, 2012, 5:23pm UTC](https://forum.inductiveautomation.com/t/format-specifiers-and-string-concatenation/5254/1 "2012-10-09T17:23:54Z")

</div>

I am attempting to build up a fairly large SQL string and am having issues if Format Specifiers are on multiple lines of a concatenated string.

This works fine:

`strSQL = "INSERT INTO tblTest (Col1, Col2, Col3) VALUES (%s, %s, %s)" % (1, 2, 3)
`

This fails:

`strSQL = "INSERT INTO tblTest (Col1, Col2, Col3) " + \
               "VALUES (%s, %s," + \
                " %s)" % (1, 2, 3)
`

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 9, 2012, 5:47pm UTC](https://forum.inductiveautomation.com/t/format-specifiers-and-string-concatenation/5254/2 "2012-10-09T17:47:11Z")

</div>

Maybe try using Python’s multi-line string instead:

```auto
sql = \
"""
INSERT INTO tblTest (Col1, Col2, Col3) 
VALUES (%s, %s, %s)
""" % (1, 2, 3)
		
print sql
```

or

```auto
sql = """
INSERT INTO tblTest (Col1, Col2, Col3) 
VALUES (%s, %s, %s)
""" % (1, 2, 3)
		
print sql
```

if you prefer not to have backslash’s littering your code.

Worth noting is that the string this builds will actually have newline characters in it, but for SQL queries I think that’s ok…
